From 903f989520fb1b06b0ee0e0e5c5212f6c79e886f Mon Sep 17 00:00:00 2001 From: root Date: Wed, 6 Sep 2023 03:59:41 -0600 Subject: [PATCH] Release 1.39.0 Added FlashArray REST 2.26 --- docs/changelog.rst | 3 +- docs/conf.py | 4 +- docs/fa_reference.rst | 101 + docs/requirements.txt | 16 +- .../pypureclient.flasharray.FA_2_26.api.rst | 469 + ...pypureclient.flasharray.FA_2_26.models.rst | 4757 +++ .../pypureclient.flasharray.FA_2_26.rst | 54 + docs/source/pypureclient.flasharray.rst | 1 + pyproject.toml | 10 +- pypureclient/client_settings.py | 2 +- .../FA_2_0/models/host_group_performance.py | 38 +- .../models/host_group_performance_by_array.py | 38 +- .../FA_2_0/models/host_performance.py | 38 +- .../models/host_performance_by_array.py | 38 +- .../flasharray/FA_2_0/models/performance.py | 38 +- .../FA_2_0/models/resource_performance.py | 38 +- .../models/resource_performance_by_array.py | 38 +- .../models/resource_performance_no_id.py | 38 +- .../resource_performance_no_id_by_array.py | 38 +- .../FA_2_0/models/volume_performance.py | 38 +- .../models/volume_performance_by_array.py | 38 +- .../FA_2_1/models/host_group_performance.py | 38 +- .../models/host_group_performance_by_array.py | 38 +- .../FA_2_1/models/host_performance.py | 38 +- .../models/host_performance_by_array.py | 38 +- .../flasharray/FA_2_1/models/performance.py | 38 +- .../FA_2_1/models/pod_array_status.py | 2 +- .../FA_2_1/models/pod_performance.py | 38 +- .../FA_2_1/models/pod_performance_by_array.py | 38 +- .../FA_2_1/models/resource_performance.py | 38 +- .../models/resource_performance_by_array.py | 38 +- .../models/resource_performance_no_id.py | 38 +- .../resource_performance_no_id_by_array.py | 38 +- .../FA_2_1/models/volume_group_performance.py | 38 +- .../FA_2_1/models/volume_performance.py | 38 +- .../models/volume_performance_by_array.py | 38 +- .../FA_2_10/models/array_performance.py | 42 +- .../FA_2_10/models/directory_performance.py | 6 +- .../FA_2_10/models/host_group_performance.py | 38 +- .../models/host_group_performance_by_array.py | 38 +- .../FA_2_10/models/host_performance.py | 38 +- .../models/host_performance_by_array.py | 38 +- .../flasharray/FA_2_10/models/performance.py | 38 +- .../FA_2_10/models/pod_array_status.py | 2 +- .../FA_2_10/models/pod_performance.py | 38 +- .../models/pod_performance_by_array.py | 38 +- .../FA_2_10/models/resource_performance.py | 38 +- .../models/resource_performance_by_array.py | 38 +- .../models/resource_performance_no_id.py | 38 +- .../resource_performance_no_id_by_array.py | 38 +- .../models/volume_group_performance.py | 38 +- .../FA_2_10/models/volume_performance.py | 38 +- .../models/volume_performance_by_array.py | 38 +- .../FA_2_11/models/array_performance.py | 42 +- .../FA_2_11/models/directory_performance.py | 6 +- .../FA_2_11/models/host_group_performance.py | 38 +- .../models/host_group_performance_by_array.py | 38 +- .../FA_2_11/models/host_performance.py | 38 +- .../models/host_performance_by_array.py | 38 +- .../flasharray/FA_2_11/models/performance.py | 38 +- .../FA_2_11/models/pod_array_status.py | 2 +- .../FA_2_11/models/pod_performance.py | 38 +- .../models/pod_performance_by_array.py | 38 +- .../FA_2_11/models/resource_performance.py | 38 +- .../models/resource_performance_by_array.py | 38 +- .../models/resource_performance_no_id.py | 38 +- .../resource_performance_no_id_by_array.py | 38 +- .../models/volume_group_performance.py | 38 +- .../FA_2_11/models/volume_performance.py | 38 +- .../models/volume_performance_by_array.py | 38 +- .../FA_2_13/models/array_performance.py | 42 +- .../FA_2_13/models/directory_performance.py | 6 +- .../FA_2_13/models/host_group_performance.py | 38 +- .../models/host_group_performance_by_array.py | 38 +- .../FA_2_13/models/host_performance.py | 38 +- .../models/host_performance_by_array.py | 38 +- .../flasharray/FA_2_13/models/performance.py | 38 +- .../FA_2_13/models/pod_array_status.py | 2 +- .../FA_2_13/models/pod_performance.py | 40 +- .../models/pod_performance_by_array.py | 40 +- .../FA_2_13/models/resource_performance.py | 38 +- .../models/resource_performance_by_array.py | 38 +- .../models/resource_performance_no_id.py | 38 +- .../resource_performance_no_id_by_array.py | 38 +- .../models/volume_group_performance.py | 38 +- .../FA_2_13/models/volume_performance.py | 38 +- .../models/volume_performance_by_array.py | 38 +- .../FA_2_14/models/array_performance.py | 42 +- .../FA_2_14/models/directory_performance.py | 6 +- .../FA_2_14/models/host_group_performance.py | 38 +- .../models/host_group_performance_by_array.py | 38 +- .../FA_2_14/models/host_performance.py | 38 +- .../models/host_performance_by_array.py | 38 +- .../flasharray/FA_2_14/models/performance.py | 38 +- .../FA_2_14/models/pod_array_status.py | 2 +- .../FA_2_14/models/pod_performance.py | 40 +- .../models/pod_performance_by_array.py | 40 +- .../FA_2_14/models/resource_performance.py | 38 +- .../models/resource_performance_by_array.py | 38 +- .../models/resource_performance_no_id.py | 38 +- .../resource_performance_no_id_by_array.py | 38 +- .../models/volume_group_performance.py | 38 +- .../FA_2_14/models/volume_performance.py | 38 +- .../models/volume_performance_by_array.py | 38 +- .../FA_2_15/models/array_performance.py | 42 +- .../FA_2_15/models/directory_performance.py | 6 +- .../FA_2_15/models/host_group_performance.py | 38 +- .../models/host_group_performance_by_array.py | 38 +- .../FA_2_15/models/host_performance.py | 38 +- .../models/host_performance_by_array.py | 38 +- .../flasharray/FA_2_15/models/performance.py | 38 +- .../FA_2_15/models/pod_array_status.py | 2 +- .../FA_2_15/models/pod_performance.py | 40 +- .../models/pod_performance_by_array.py | 40 +- .../FA_2_15/models/resource_performance.py | 38 +- .../models/resource_performance_by_array.py | 38 +- .../models/resource_performance_no_id.py | 38 +- .../resource_performance_no_id_by_array.py | 38 +- .../models/volume_group_performance.py | 38 +- .../FA_2_15/models/volume_performance.py | 38 +- .../models/volume_performance_by_array.py | 38 +- .../FA_2_16/models/array_performance.py | 42 +- .../FA_2_16/models/directory_performance.py | 6 +- .../FA_2_16/models/host_group_performance.py | 38 +- .../models/host_group_performance_by_array.py | 38 +- .../FA_2_16/models/host_performance.py | 38 +- .../models/host_performance_by_array.py | 38 +- .../flasharray/FA_2_16/models/performance.py | 38 +- .../FA_2_16/models/pod_array_status.py | 2 +- .../FA_2_16/models/pod_performance.py | 40 +- .../models/pod_performance_by_array.py | 40 +- .../FA_2_16/models/resource_performance.py | 38 +- .../models/resource_performance_by_array.py | 38 +- .../models/resource_performance_no_id.py | 38 +- .../resource_performance_no_id_by_array.py | 38 +- .../models/volume_group_performance.py | 38 +- .../FA_2_16/models/volume_performance.py | 38 +- .../models/volume_performance_by_array.py | 38 +- .../FA_2_17/models/array_performance.py | 42 +- .../FA_2_17/models/directory_performance.py | 6 +- .../FA_2_17/models/host_group_performance.py | 38 +- .../models/host_group_performance_by_array.py | 38 +- .../FA_2_17/models/host_performance.py | 38 +- .../models/host_performance_by_array.py | 38 +- .../flasharray/FA_2_17/models/performance.py | 38 +- .../FA_2_17/models/pod_array_status.py | 2 +- .../FA_2_17/models/pod_performance.py | 40 +- .../models/pod_performance_by_array.py | 40 +- .../FA_2_17/models/resource_performance.py | 38 +- .../models/resource_performance_by_array.py | 38 +- .../models/resource_performance_no_id.py | 38 +- .../resource_performance_no_id_by_array.py | 38 +- .../models/volume_group_performance.py | 38 +- .../FA_2_17/models/volume_performance.py | 38 +- .../models/volume_performance_by_array.py | 38 +- .../FA_2_19/models/array_performance.py | 42 +- .../models/array_performance_by_link.py | 42 +- .../FA_2_19/models/directory_performance.py | 6 +- .../FA_2_19/models/host_group_performance.py | 38 +- .../models/host_group_performance_by_array.py | 38 +- .../FA_2_19/models/host_performance.py | 38 +- .../models/host_performance_by_array.py | 38 +- .../flasharray/FA_2_19/models/performance.py | 38 +- .../FA_2_19/models/pod_array_status.py | 2 +- .../FA_2_19/models/pod_performance.py | 40 +- .../models/pod_performance_by_array.py | 40 +- .../FA_2_19/models/resource_performance.py | 38 +- .../models/resource_performance_by_array.py | 38 +- .../models/resource_performance_no_id.py | 38 +- .../resource_performance_no_id_by_array.py | 38 +- .../models/volume_group_performance.py | 38 +- .../FA_2_19/models/volume_performance.py | 38 +- .../models/volume_performance_by_array.py | 38 +- .../FA_2_2/models/array_performance.py | 42 +- .../FA_2_2/models/host_group_performance.py | 38 +- .../models/host_group_performance_by_array.py | 38 +- .../FA_2_2/models/host_performance.py | 38 +- .../models/host_performance_by_array.py | 38 +- .../flasharray/FA_2_2/models/performance.py | 38 +- .../FA_2_2/models/pod_array_status.py | 2 +- .../FA_2_2/models/pod_performance.py | 38 +- .../FA_2_2/models/pod_performance_by_array.py | 38 +- .../FA_2_2/models/resource_performance.py | 38 +- .../models/resource_performance_by_array.py | 38 +- .../models/resource_performance_no_id.py | 38 +- .../resource_performance_no_id_by_array.py | 38 +- .../FA_2_2/models/volume_group_performance.py | 38 +- .../FA_2_2/models/volume_performance.py | 38 +- .../models/volume_performance_by_array.py | 38 +- .../FA_2_20/models/array_performance.py | 42 +- .../models/array_performance_by_link.py | 42 +- .../FA_2_20/models/directory_performance.py | 6 +- .../FA_2_20/models/host_group_performance.py | 38 +- .../models/host_group_performance_by_array.py | 38 +- .../FA_2_20/models/host_performance.py | 38 +- .../models/host_performance_by_array.py | 38 +- .../flasharray/FA_2_20/models/performance.py | 38 +- .../FA_2_20/models/pod_array_status.py | 2 +- .../FA_2_20/models/pod_performance.py | 40 +- .../models/pod_performance_by_array.py | 40 +- .../FA_2_20/models/resource_performance.py | 38 +- .../models/resource_performance_by_array.py | 38 +- .../models/resource_performance_no_id.py | 38 +- .../resource_performance_no_id_by_array.py | 38 +- .../models/volume_group_performance.py | 38 +- .../FA_2_20/models/volume_performance.py | 38 +- .../models/volume_performance_by_array.py | 38 +- .../FA_2_21/models/array_performance.py | 42 +- .../models/array_performance_by_link.py | 42 +- .../FA_2_21/models/directory_performance.py | 6 +- .../FA_2_21/models/host_group_performance.py | 38 +- .../models/host_group_performance_by_array.py | 38 +- .../FA_2_21/models/host_performance.py | 38 +- .../models/host_performance_by_array.py | 38 +- .../flasharray/FA_2_21/models/performance.py | 38 +- .../FA_2_21/models/pod_array_status.py | 2 +- .../FA_2_21/models/pod_performance.py | 40 +- .../models/pod_performance_by_array.py | 40 +- .../FA_2_21/models/resource_performance.py | 38 +- .../models/resource_performance_by_array.py | 38 +- .../models/resource_performance_no_id.py | 38 +- .../resource_performance_no_id_by_array.py | 38 +- .../models/volume_group_performance.py | 38 +- .../FA_2_21/models/volume_performance.py | 38 +- .../models/volume_performance_by_array.py | 38 +- .../FA_2_22/models/array_performance.py | 42 +- .../models/array_performance_by_link.py | 42 +- .../FA_2_22/models/directory_performance.py | 6 +- .../FA_2_22/models/host_group_performance.py | 38 +- .../models/host_group_performance_by_array.py | 38 +- .../FA_2_22/models/host_performance.py | 38 +- .../models/host_performance_by_array.py | 38 +- .../flasharray/FA_2_22/models/performance.py | 38 +- .../FA_2_22/models/pod_array_status.py | 2 +- .../FA_2_22/models/pod_performance.py | 40 +- .../models/pod_performance_by_array.py | 40 +- .../FA_2_22/models/resource_performance.py | 38 +- .../models/resource_performance_by_array.py | 38 +- .../models/resource_performance_no_id.py | 38 +- .../resource_performance_no_id_by_array.py | 38 +- .../models/volume_group_performance.py | 38 +- .../FA_2_22/models/volume_performance.py | 38 +- .../models/volume_performance_by_array.py | 38 +- .../FA_2_23/models/array_performance.py | 42 +- .../models/array_performance_by_link.py | 42 +- .../FA_2_23/models/directory_performance.py | 6 +- .../FA_2_23/models/host_group_performance.py | 38 +- .../models/host_group_performance_by_array.py | 38 +- .../FA_2_23/models/host_performance.py | 38 +- .../models/host_performance_by_array.py | 38 +- .../flasharray/FA_2_23/models/performance.py | 38 +- .../FA_2_23/models/pod_array_status.py | 2 +- .../FA_2_23/models/pod_performance.py | 40 +- .../models/pod_performance_by_array.py | 40 +- .../FA_2_23/models/resource_performance.py | 38 +- .../models/resource_performance_by_array.py | 38 +- .../models/resource_performance_no_id.py | 38 +- .../resource_performance_no_id_by_array.py | 38 +- .../models/volume_group_performance.py | 38 +- .../FA_2_23/models/volume_performance.py | 38 +- .../models/volume_performance_by_array.py | 38 +- .../FA_2_24/models/array_performance.py | 42 +- .../models/array_performance_by_link.py | 42 +- .../FA_2_24/models/directory_performance.py | 6 +- .../FA_2_24/models/host_group_performance.py | 38 +- .../models/host_group_performance_by_array.py | 38 +- .../FA_2_24/models/host_performance.py | 38 +- .../models/host_performance_by_array.py | 38 +- .../flasharray/FA_2_24/models/performance.py | 38 +- .../FA_2_24/models/pod_array_status.py | 2 +- .../FA_2_24/models/pod_performance.py | 40 +- .../models/pod_performance_by_array.py | 40 +- .../FA_2_24/models/resource_performance.py | 38 +- .../models/resource_performance_by_array.py | 38 +- .../models/resource_performance_no_id.py | 38 +- .../resource_performance_no_id_by_array.py | 38 +- .../models/volume_group_performance.py | 38 +- .../FA_2_24/models/volume_performance.py | 38 +- .../models/volume_performance_by_array.py | 38 +- .../flasharray/FA_2_25/api/offloads_api.py | 2 +- .../api/protection_group_snapshots_api.py | 8 +- .../remote_protection_group_snapshots_api.py | 4 +- .../FA_2_25/api/volume_snapshots_api.py | 4 +- pypureclient/flasharray/FA_2_25/client.py | 17 +- .../FA_2_25/models/array_performance.py | 42 +- .../models/array_performance_by_link.py | 42 +- .../FA_2_25/models/directory_performance.py | 6 +- .../FA_2_25/models/host_group_performance.py | 38 +- .../models/host_group_performance_by_array.py | 38 +- .../FA_2_25/models/host_performance.py | 38 +- .../models/host_performance_by_array.py | 38 +- .../FA_2_25/models/offload_azure.py | 2 +- .../FA_2_25/models/offload_google_cloud.py | 2 +- .../flasharray/FA_2_25/models/offload_nfs.py | 2 +- .../flasharray/FA_2_25/models/offload_s3.py | 2 +- .../flasharray/FA_2_25/models/performance.py | 38 +- .../FA_2_25/models/pod_array_status.py | 2 +- .../FA_2_25/models/pod_performance.py | 40 +- .../models/pod_performance_by_array.py | 40 +- .../FA_2_25/models/resource_performance.py | 38 +- .../models/resource_performance_by_array.py | 38 +- .../models/resource_performance_no_id.py | 38 +- .../resource_performance_no_id_by_array.py | 38 +- .../models/volume_group_performance.py | 38 +- .../FA_2_25/models/volume_performance.py | 38 +- .../models/volume_performance_by_array.py | 38 +- pypureclient/flasharray/FA_2_26/__init__.py | 715 + .../flasharray/FA_2_26/api/__init__.py | 61 + .../FA_2_26/api/active_directory_api.py | 442 + .../FA_2_26/api/administrators_api.py | 1223 + .../FA_2_26/api/alert_watchers_api.py | 547 + .../flasharray/FA_2_26/api/alerts_api.py | 914 + .../flasharray/FA_2_26/api/api_clients_api.py | 445 + .../flasharray/FA_2_26/api/apps_api.py | 365 + .../FA_2_26/api/array_connections_api.py | 609 + .../flasharray/FA_2_26/api/arrays_api.py | 1509 + .../flasharray/FA_2_26/api/audits_api.py | 155 + .../FA_2_26/api/authorization_api.py | 344 + .../FA_2_26/api/certificates_api.py | 516 + .../flasharray/FA_2_26/api/connections_api.py | 415 + .../api/container_default_protections_api.py | 262 + .../flasharray/FA_2_26/api/controllers_api.py | 147 + .../flasharray/FA_2_26/api/directories_api.py | 2828 ++ .../FA_2_26/api/directory_exports_api.py | 406 + .../FA_2_26/api/directory_quotas_api.py | 171 + .../FA_2_26/api/directory_services_api.py | 2320 ++ .../FA_2_26/api/directory_snapshots_api.py | 481 + .../flasharray/FA_2_26/api/dns_api.py | 425 + .../flasharray/FA_2_26/api/drives_api.py | 231 + .../FA_2_26/api/file_systems_api.py | 449 + .../flasharray/FA_2_26/api/files_api.py | 142 + .../flasharray/FA_2_26/api/hardware_api.py | 238 + .../flasharray/FA_2_26/api/host_groups_api.py | 1466 + .../flasharray/FA_2_26/api/hosts_api.py | 1589 + .../flasharray/FA_2_26/api/kmip_api.py | 516 + .../FA_2_26/api/maintenance_windows_api.py | 330 + .../FA_2_26/api/network_interfaces_api.py | 785 + .../flasharray/FA_2_26/api/offloads_api.py | 338 + .../FA_2_26/api/pod_replica_links_api.py | 941 + .../flasharray/FA_2_26/api/pods_api.py | 1595 + .../flasharray/FA_2_26/api/policies_api.py | 5920 +++ .../flasharray/FA_2_26/api/ports_api.py | 259 + .../api/protection_group_snapshots_api.py | 874 + .../FA_2_26/api/protection_groups_api.py | 2401 ++ .../flasharray/FA_2_26/api/remote_pods_api.py | 159 + .../remote_protection_group_snapshots_api.py | 830 + .../api/remote_protection_groups_api.py | 370 + .../api/remote_volume_snapshots_api.py | 634 + .../flasharray/FA_2_26/api/saml2_sso_api.py | 683 + .../flasharray/FA_2_26/api/sessions_api.py | 155 + .../flasharray/FA_2_26/api/smi_s_api.py | 222 + .../flasharray/FA_2_26/api/smtp_api.py | 222 + .../flasharray/FA_2_26/api/snmp_agents_api.py | 330 + .../FA_2_26/api/snmp_managers_api.py | 541 + .../flasharray/FA_2_26/api/software_api.py | 1748 + .../flasharray/FA_2_26/api/subnets_api.py | 428 + .../FA_2_26/api/subscription_assets_api.py | 155 + .../FA_2_26/api/subscriptions_api.py | 147 + .../flasharray/FA_2_26/api/support_api.py | 338 + .../flasharray/FA_2_26/api/syslog_api.py | 728 + .../flasharray/FA_2_26/api/vchosts_api.py | 1405 + .../FA_2_26/api/virtual_machines_api.py | 461 + .../FA_2_26/api/volume_groups_api.py | 901 + .../FA_2_26/api/volume_snapshots_api.py | 1114 + .../flasharray/FA_2_26/api/volumes_api.py | 1983 + pypureclient/flasharray/FA_2_26/api_client.py | 646 + pypureclient/flasharray/FA_2_26/client.py | 33245 ++++++++++++++++ .../flasharray/FA_2_26/configuration.py | 235 + .../flasharray/FA_2_26/models/__init__.py | 637 + .../FA_2_26/models/active_directory.py | 159 + .../models/active_directory_get_response.py | 147 + .../FA_2_26/models/active_directory_patch.py | 129 + .../FA_2_26/models/active_directory_post.py | 171 + .../models/active_directory_response.py | 129 + .../flasharray/FA_2_26/models/admin.py | 171 + .../FA_2_26/models/admin_api_token.py | 135 + .../models/admin_api_token_get_response.py | 147 + .../models/admin_api_token_response.py | 129 + .../flasharray/FA_2_26/models/admin_cache.py | 141 + .../models/admin_cache_get_response.py | 147 + .../FA_2_26/models/admin_cache_response.py | 129 + .../FA_2_26/models/admin_get_response.py | 147 + .../flasharray/FA_2_26/models/admin_patch.py | 177 + .../flasharray/FA_2_26/models/admin_post.py | 135 + .../FA_2_26/models/admin_response.py | 129 + .../flasharray/FA_2_26/models/admin_role.py | 129 + .../FA_2_26/models/admin_settings.py | 157 + .../FA_2_26/models/admin_settings_response.py | 129 + .../aggregate_replication_performance.py | 132 + .../flasharray/FA_2_26/models/alert.py | 237 + .../flasharray/FA_2_26/models/alert_event.py | 207 + .../models/alert_event_get_response.py | 147 + .../FA_2_26/models/alert_event_response.py | 129 + .../FA_2_26/models/alert_get_response.py | 147 + .../FA_2_26/models/alert_response.py | 129 + .../flasharray/FA_2_26/models/alert_rules.py | 141 + .../FA_2_26/models/alert_rules_catalog.py | 153 + .../alert_rules_catalog_get_response.py | 147 + .../models/alert_rules_catalog_response.py | 129 + .../models/alert_rules_get_response.py | 147 + .../FA_2_26/models/alert_rules_response.py | 129 + .../FA_2_26/models/alert_watcher.py | 135 + .../models/alert_watcher_get_response.py | 147 + .../FA_2_26/models/alert_watcher_patch.py | 129 + .../FA_2_26/models/alert_watcher_post.py | 129 + .../FA_2_26/models/alert_watcher_response.py | 129 + .../flasharray/FA_2_26/models/api_client.py | 171 + .../FA_2_26/models/api_client_get_response.py | 147 + .../FA_2_26/models/api_client_patch.py | 129 + .../FA_2_26/models/api_client_post.py | 147 + .../FA_2_26/models/api_client_response.py | 129 + .../flasharray/FA_2_26/models/api_token.py | 141 + .../FA_2_26/models/api_version_response.py | 129 + pypureclient/flasharray/FA_2_26/models/app.py | 165 + .../FA_2_26/models/app_get_response.py | 147 + .../flasharray/FA_2_26/models/app_node.py | 153 + .../FA_2_26/models/app_node_get_response.py | 147 + .../FA_2_26/models/app_node_response.py | 129 + .../flasharray/FA_2_26/models/app_response.py | 129 + .../flasharray/FA_2_26/models/array.py | 225 + .../FA_2_26/models/array_connection.py | 177 + .../models/array_connection_get_response.py | 147 + .../FA_2_26/models/array_connection_key.py | 129 + .../array_connection_key_get_response.py | 147 + .../FA_2_26/models/array_connection_path.py | 165 + .../array_connection_path_get_response.py | 147 + .../models/array_connection_path_response.py | 129 + .../FA_2_26/models/array_connection_post.py | 153 + .../models/array_connection_response.py | 129 + .../FA_2_26/models/array_encryption.py | 135 + .../models/array_factory_reset_token.py | 141 + .../array_factory_reset_token_get_response.py | 147 + .../array_factory_reset_token_response.py | 129 + .../FA_2_26/models/array_get_response.py | 147 + .../FA_2_26/models/array_performance.py | 413 + .../models/array_performance_by_link.py | 419 + .../array_performance_by_link_get_response.py | 147 + .../array_performance_by_link_response.py | 129 + .../models/array_performance_get_response.py | 147 + .../FA_2_26/models/array_response.py | 129 + .../flasharray/FA_2_26/models/array_space.py | 159 + .../models/array_space_get_response.py | 147 + .../models/arrayencryption_data_at_rest.py | 135 + .../flasharray/FA_2_26/models/arrays.py | 225 + .../flasharray/FA_2_26/models/audit.py | 177 + .../FA_2_26/models/audit_get_response.py | 147 + .../FA_2_26/models/audit_response.py | 129 + .../flasharray/FA_2_26/models/built_in.py | 135 + .../FA_2_26/models/built_in_relationship.py | 129 + .../FA_2_26/models/built_in_resource_no_id.py | 129 + .../flasharray/FA_2_26/models/certificate.py | 219 + .../models/certificate_get_response.py | 147 + .../FA_2_26/models/certificate_post.py | 237 + .../FA_2_26/models/certificate_response.py | 129 + .../models/certificate_signing_request.py | 129 + .../certificate_signing_request_post.py | 171 + .../certificate_signing_request_response.py | 129 + .../flasharray/FA_2_26/models/chap.py | 147 + .../FA_2_26/models/cloud_provider_tag.py | 141 + .../models/cloud_provider_tag_get_response.py | 147 + .../models/cloud_provider_tag_response.py | 129 + .../flasharray/FA_2_26/models/connection.py | 153 + .../FA_2_26/models/connection_get_response.py | 147 + .../FA_2_26/models/connection_post.py | 140 + .../FA_2_26/models/connection_response.py | 129 + .../models/container_default_protection.py | 147 + ...ntainer_default_protection_get_response.py | 147 + .../container_default_protection_response.py | 129 + .../flasharray/FA_2_26/models/controller.py | 159 + .../FA_2_26/models/controller_get_response.py | 147 + .../flasharray/FA_2_26/models/controllers.py | 159 + .../models/default_protection_reference.py | 141 + .../FA_2_26/models/destroyed_patch_post.py | 129 + .../flasharray/FA_2_26/models/directory.py | 183 + .../FA_2_26/models/directory_export.py | 159 + .../models/directory_export_get_response.py | 147 + .../FA_2_26/models/directory_export_post.py | 129 + .../models/directory_export_response.py | 129 + .../FA_2_26/models/directory_get_response.py | 153 + .../models/directory_lock_nlm_reclamation.py | 135 + ...directory_lock_nlm_reclamation_response.py | 129 + .../FA_2_26/models/directory_patch.py | 135 + .../FA_2_26/models/directory_performance.py | 240 + .../directory_performance_get_response.py | 153 + .../models/directory_policy_export_post.py | 129 + .../FA_2_26/models/directory_policy_post.py | 129 + .../FA_2_26/models/directory_post.py | 135 + .../FA_2_26/models/directory_quota.py | 186 + .../models/directory_quotas_get_response.py | 147 + .../models/directory_quotas_response.py | 129 + .../FA_2_26/models/directory_response.py | 129 + .../FA_2_26/models/directory_service.py | 186 + .../models/directory_service_get_response.py | 147 + .../models/directory_service_management.py | 135 + .../models/directory_service_response.py | 129 + .../FA_2_26/models/directory_service_role.py | 141 + .../directory_service_role_get_response.py | 147 + .../models/directory_service_role_response.py | 129 + .../FA_2_26/models/directory_snapshot.py | 183 + .../models/directory_snapshot_get_response.py | 153 + .../models/directory_snapshot_patch.py | 159 + .../FA_2_26/models/directory_snapshot_post.py | 141 + .../models/directory_snapshot_response.py | 129 + .../FA_2_26/models/directory_space.py | 147 + .../directorypolicyexportpost_policies.py | 135 + .../models/directorypolicypost_policies.py | 129 + pypureclient/flasharray/FA_2_26/models/dns.py | 153 + .../FA_2_26/models/dns_get_response.py | 147 + .../flasharray/FA_2_26/models/dns_patch.py | 153 + .../flasharray/FA_2_26/models/dns_post.py | 147 + .../flasharray/FA_2_26/models/dns_response.py | 129 + .../flasharray/FA_2_26/models/drive.py | 159 + .../FA_2_26/models/drive_get_response.py | 147 + .../FA_2_26/models/drive_response.py | 129 + .../FA_2_26/models/eradication_config.py | 147 + .../flasharray/FA_2_26/models/eula.py | 135 + .../FA_2_26/models/eula_get_response.py | 147 + .../FA_2_26/models/eula_response.py | 129 + .../FA_2_26/models/eula_signature.py | 147 + .../flasharray/FA_2_26/models/file_post.py | 135 + .../flasharray/FA_2_26/models/file_system.py | 159 + .../models/file_system_get_response.py | 147 + .../FA_2_26/models/file_system_patch.py | 141 + .../FA_2_26/models/file_system_response.py | 129 + .../models/fixed_name_resource_no_id.py | 129 + .../FA_2_26/models/fixed_reference.py | 135 + .../FA_2_26/models/fixed_reference_no_id.py | 129 + .../models/fixed_reference_with_type.py | 141 + .../flasharray/FA_2_26/models/hardware.py | 195 + .../FA_2_26/models/hardware_get_response.py | 147 + .../FA_2_26/models/hardware_patch.py | 141 + .../FA_2_26/models/hardware_response.py | 129 + .../flasharray/FA_2_26/models/host.py | 201 + .../FA_2_26/models/host_get_response.py | 147 + .../flasharray/FA_2_26/models/host_group.py | 153 + .../FA_2_26/models/host_group_get_response.py | 147 + .../FA_2_26/models/host_group_patch.py | 129 + .../FA_2_26/models/host_group_performance.py | 377 + .../models/host_group_performance_by_array.py | 383 + .../FA_2_26/models/host_group_response.py | 129 + .../FA_2_26/models/host_group_space.py | 141 + .../flasharray/FA_2_26/models/host_patch.py | 213 + .../FA_2_26/models/host_performance.py | 377 + .../models/host_performance_balance.py | 159 + .../host_performance_balance_get_response.py | 147 + .../models/host_performance_by_array.py | 383 + .../FA_2_26/models/host_port_connectivity.py | 135 + .../flasharray/FA_2_26/models/host_post.py | 165 + .../FA_2_26/models/host_response.py | 129 + .../flasharray/FA_2_26/models/host_space.py | 141 + .../FA_2_26/models/inline_response400.py | 135 + .../FA_2_26/models/inline_response401.py | 135 + .../flasharray/FA_2_26/models/kmip.py | 156 + .../FA_2_26/models/kmip_certificate.py | 129 + .../FA_2_26/models/kmip_get_response.py | 147 + .../flasharray/FA_2_26/models/kmip_object.py | 135 + .../flasharray/FA_2_26/models/kmip_patch.py | 144 + .../flasharray/FA_2_26/models/kmip_post.py | 144 + .../FA_2_26/models/kmip_response.py | 129 + .../FA_2_26/models/kmip_test_result.py | 171 + .../models/kmip_test_result_get_response.py | 147 + .../flasharray/FA_2_26/models/limited_by.py | 135 + .../flasharray/FA_2_26/models/local_group.py | 153 + .../models/local_group_get_response.py | 147 + .../models/local_group_membership_post.py | 129 + .../FA_2_26/models/local_group_post.py | 135 + .../FA_2_26/models/local_group_response.py | 129 + .../flasharray/FA_2_26/models/local_member.py | 153 + .../models/local_membership_get_response.py | 147 + .../models/local_membership_response.py | 129 + .../flasharray/FA_2_26/models/local_user.py | 165 + .../FA_2_26/models/local_user_get_response.py | 147 + .../models/local_user_membership_post.py | 135 + .../FA_2_26/models/local_user_patch.py | 159 + .../FA_2_26/models/local_user_post.py | 153 + .../FA_2_26/models/local_user_response.py | 129 + .../localgroupmembershippost_members.py | 135 + .../models/localusermembershippost_groups.py | 135 + .../FA_2_26/models/maintenance_window.py | 141 + .../FA_2_26/models/maintenance_window_post.py | 129 + .../maintenance_windows_get_response.py | 147 + .../models/maintenance_windows_response.py | 129 + .../flasharray/FA_2_26/models/member.py | 135 + .../FA_2_26/models/member_get_response.py | 147 + .../FA_2_26/models/member_no_id_all.py | 135 + .../models/member_no_id_all_get_response.py | 147 + .../models/member_no_id_all_response.py | 129 + .../FA_2_26/models/member_no_id_group.py | 135 + .../FA_2_26/models/member_no_id_member.py | 135 + .../member_no_id_member_get_response.py | 147 + .../models/member_no_id_member_response.py | 129 + .../FA_2_26/models/member_response.py | 129 + .../FA_2_26/models/network_interface.py | 165 + .../FA_2_26/models/network_interface_eth.py | 177 + .../FA_2_26/models/network_interface_fc.py | 129 + .../models/network_interface_get_response.py | 147 + .../models/network_interface_neighbor.py | 147 + .../network_interface_neighbor_capability.py | 135 + ...network_interface_neighbor_get_response.py | 147 + ...ork_interface_neighbor_neighbor_chassis.py | 189 + ..._interface_neighbor_neighbor_chassis_id.py | 135 + ...etwork_interface_neighbor_neighbor_port.py | 135 + ...ork_interface_neighbor_neighbor_port_id.py | 135 + .../network_interface_neighbor_response.py | 129 + .../FA_2_26/models/network_interface_patch.py | 147 + .../models/network_interface_performance.py | 153 + .../network_interface_performance_eth.py | 213 + .../network_interface_performance_fc.py | 213 + ...work_interface_performance_get_response.py | 153 + .../models/network_interface_port_details.py | 183 + .../network_interface_port_details_rx_los.py | 135 + ...network_interface_port_details_rx_power.py | 141 + .../network_interface_port_details_static.py | 303 + ...port_details_static_rx_power_thresholds.py | 147 + ...t_details_static_temperature_thresholds.py | 147 + ..._port_details_static_tx_bias_thresholds.py | 147 + ...port_details_static_tx_power_thresholds.py | 147 + ..._port_details_static_voltage_thresholds.py | 147 + ...work_interface_port_details_temperature.py | 141 + .../network_interface_port_details_tx_bias.py | 141 + ...network_interface_port_details_tx_fault.py | 135 + ...network_interface_port_details_tx_power.py | 141 + .../network_interface_port_details_voltage.py | 141 + .../FA_2_26/models/network_interface_post.py | 141 + .../models/network_interface_response.py | 129 + .../models/network_interfaces_port_details.py | 183 + ...rk_interfaces_port_details_get_response.py | 147 + ...etwork_interfaces_port_details_response.py | 129 + .../models/networkinterfacepatch_eth.py | 171 + .../models/networkinterfacepost_eth.py | 147 + .../flasharray/FA_2_26/models/new_name.py | 129 + .../FA_2_26/models/oauth_token_response.py | 147 + .../flasharray/FA_2_26/models/offload.py | 177 + .../FA_2_26/models/offload_azure.py | 147 + .../FA_2_26/models/offload_get_response.py | 153 + .../FA_2_26/models/offload_google_cloud.py | 153 + .../flasharray/FA_2_26/models/offload_nfs.py | 147 + .../flasharray/FA_2_26/models/offload_post.py | 147 + .../FA_2_26/models/offload_response.py | 129 + .../flasharray/FA_2_26/models/offload_s3.py | 165 + .../FA_2_26/models/override_check.py | 141 + .../flasharray/FA_2_26/models/page_info.py | 141 + .../flasharray/FA_2_26/models/performance.py | 365 + pypureclient/flasharray/FA_2_26/models/pod.py | 237 + .../FA_2_26/models/pod_array_status.py | 165 + .../FA_2_26/models/pod_eradication_config.py | 129 + .../FA_2_26/models/pod_get_response.py | 153 + .../flasharray/FA_2_26/models/pod_patch.py | 176 + .../FA_2_26/models/pod_performance.py | 395 + .../models/pod_performance_by_array.py | 401 + .../pod_performance_by_array_get_response.py | 153 + .../models/pod_performance_get_response.py | 153 + .../models/pod_performance_replication.py | 168 + .../pod_performance_replication_by_array.py | 174 + ...mance_replication_by_array_get_response.py | 153 + ...rformance_replication_by_array_response.py | 135 + ...od_performance_replication_get_response.py | 153 + .../pod_performance_replication_response.py | 135 + .../flasharray/FA_2_26/models/pod_post.py | 158 + .../FA_2_26/models/pod_replica_link.py | 177 + .../models/pod_replica_link_get_response.py | 147 + .../FA_2_26/models/pod_replica_link_lag.py | 177 + .../pod_replica_link_lag_get_response.py | 147 + .../models/pod_replica_link_lag_response.py | 129 + .../FA_2_26/models/pod_replica_link_patch.py | 129 + .../models/pod_replica_link_performance.py | 186 + ...od_replica_link_performance_replication.py | 186 + ...nk_performance_replication_get_response.py | 153 + ...a_link_performance_replication_response.py | 135 + .../models/pod_replica_link_response.py | 129 + .../flasharray/FA_2_26/models/pod_response.py | 129 + .../flasharray/FA_2_26/models/pod_space.py | 254 + .../flasharray/FA_2_26/models/policy.py | 165 + .../FA_2_26/models/policy_get_response.py | 147 + .../FA_2_26/models/policy_member.py | 153 + .../FA_2_26/models/policy_member_export.py | 159 + .../policy_member_export_get_response.py | 147 + .../models/policy_member_export_post.py | 129 + .../models/policy_member_export_response.py | 129 + .../models/policy_member_get_response.py | 147 + .../FA_2_26/models/policy_member_post.py | 129 + .../FA_2_26/models/policy_member_response.py | 129 + .../flasharray/FA_2_26/models/policy_nfs.py | 177 + .../FA_2_26/models/policy_nfs_get_response.py | 147 + .../FA_2_26/models/policy_nfs_patch.py | 147 + .../FA_2_26/models/policy_nfs_post.py | 135 + .../FA_2_26/models/policy_nfs_response.py | 129 + .../flasharray/FA_2_26/models/policy_patch.py | 135 + .../flasharray/FA_2_26/models/policy_post.py | 129 + .../FA_2_26/models/policy_response.py | 129 + .../FA_2_26/models/policy_rule_nfs_client.py | 183 + .../policy_rule_nfs_client_get_response.py | 147 + .../models/policy_rule_nfs_client_post.py | 129 + .../models/policy_rule_nfs_client_response.py | 129 + .../FA_2_26/models/policy_rule_quota.py | 165 + .../models/policy_rule_quota_get_response.py | 147 + .../FA_2_26/models/policy_rule_quota_patch.py | 129 + .../FA_2_26/models/policy_rule_quota_post.py | 129 + .../models/policy_rule_quota_response.py | 129 + .../FA_2_26/models/policy_rule_smb_client.py | 165 + .../policy_rule_smb_client_get_response.py | 147 + .../models/policy_rule_smb_client_post.py | 129 + .../models/policy_rule_smb_client_response.py | 129 + .../FA_2_26/models/policy_rule_snapshot.py | 177 + .../policy_rule_snapshot_get_response.py | 147 + .../models/policy_rule_snapshot_post.py | 129 + .../models/policy_rule_snapshot_response.py | 129 + .../flasharray/FA_2_26/models/policy_smb.py | 171 + .../FA_2_26/models/policy_smb_get_response.py | 147 + .../FA_2_26/models/policy_smb_patch.py | 141 + .../FA_2_26/models/policy_smb_post.py | 135 + .../FA_2_26/models/policy_smb_response.py | 129 + .../models/policymemberexportpost_members.py | 135 + .../models/policymemberpost_members.py | 129 + .../models/policyrulenfsclientpost_rules.py | 159 + .../models/policyrulequotapatch_rules.py | 141 + .../models/policyrulequotapost_rules.py | 141 + .../models/policyrulesmbclientpost_rules.py | 141 + .../models/policyrulesnapshotpost_rules.py | 153 + .../flasharray/FA_2_26/models/port.py | 159 + .../flasharray/FA_2_26/models/port_common.py | 147 + .../FA_2_26/models/port_get_response.py | 147 + .../FA_2_26/models/port_initiator.py | 135 + .../models/port_initiators_get_response.py | 147 + .../FA_2_26/models/priority_adjustment.py | 135 + .../FA_2_26/models/protection_group.py | 231 + .../protection_group_eradication_config.py | 129 + .../models/protection_group_get_response.py | 153 + .../models/protection_group_performance.py | 150 + .../protection_group_performance_array.py | 162 + ...ection_group_performance_array_response.py | 147 + .../protection_group_performance_by_array.py | 162 + .../protection_group_performance_response.py | 147 + .../models/protection_group_response.py | 129 + .../models/protection_group_snapshot.py | 183 + .../protection_group_snapshot_get_response.py | 153 + .../models/protection_group_snapshot_patch.py | 183 + .../models/protection_group_snapshot_post.py | 183 + .../protection_group_snapshot_replica.py | 183 + ...tection_group_snapshot_replica_response.py | 129 + .../protection_group_snapshot_response.py | 129 + .../protection_group_snapshot_transfer.py | 171 + ...on_group_snapshot_transfer_get_response.py | 153 + ...ection_group_snapshot_transfer_response.py | 129 + .../FA_2_26/models/protection_group_space.py | 141 + .../FA_2_26/models/protection_group_target.py | 141 + .../protection_group_target_get_response.py | 147 + .../protection_group_target_response.py | 129 + .../models/protection_groups_volumes.py | 135 + .../protection_groups_volumes_get_response.py | 147 + .../protection_groups_volumes_response.py | 129 + pypureclient/flasharray/FA_2_26/models/qos.py | 145 + .../flasharray/FA_2_26/models/reference.py | 135 + .../FA_2_26/models/reference_no_id.py | 129 + .../models/reference_no_id_with_type.py | 135 + .../FA_2_26/models/reference_with_type.py | 141 + .../flasharray/FA_2_26/models/remote_pod.py | 141 + .../FA_2_26/models/remote_pods_response.py | 147 + .../FA_2_26/models/remote_protection_group.py | 171 + .../remote_protection_group_get_response.py | 147 + .../remote_protection_group_response.py | 129 + .../remote_protection_group_snapshot.py | 177 + ..._protection_group_snapshot_get_response.py | 147 + .../remote_protection_group_snapshot_post.py | 177 + ...mote_protection_group_snapshot_response.py | 129 + ...mote_protection_group_snapshot_transfer.py | 177 + ...on_group_snapshot_transfer_get_response.py | 153 + ...ection_group_snapshot_transfer_response.py | 129 + .../FA_2_26/models/remote_volume_snapshot.py | 177 + .../remote_volume_snapshot_get_response.py | 147 + .../models/remote_volume_snapshot_response.py | 129 + .../models/remote_volume_snapshot_transfer.py | 171 + ...e_volume_snapshot_transfer_get_response.py | 153 + ...emote_volume_snapshot_transfer_response.py | 129 + .../FA_2_26/models/replica_link_lag.py | 141 + .../replica_link_performance_replication.py | 180 + .../replication_performance_with_total.py | 150 + .../FA_2_26/models/replication_schedule.py | 147 + .../flasharray/FA_2_26/models/resource.py | 135 + .../models/resource_directory_space.py | 147 + .../resource_directory_space_get_response.py | 153 + .../models/resource_fixed_non_unique_name.py | 135 + .../FA_2_26/models/resource_no_id.py | 129 + .../FA_2_26/models/resource_performance.py | 377 + .../models/resource_performance_by_array.py | 383 + ...ource_performance_by_array_get_response.py | 153 + .../resource_performance_get_response.py | 153 + .../models/resource_performance_no_id.py | 371 + .../resource_performance_no_id_by_array.py | 377 + ...performance_no_id_by_array_get_response.py | 153 + ...resource_performance_no_id_get_response.py | 153 + .../FA_2_26/models/resource_pod_space.py | 147 + .../models/resource_pod_space_get_response.py | 153 + .../FA_2_26/models/resource_space.py | 147 + .../models/resource_space_get_response.py | 153 + .../FA_2_26/models/resource_space_no_id.py | 141 + .../resource_space_no_id_get_response.py | 147 + .../FA_2_26/models/retention_policy.py | 141 + .../flasharray/FA_2_26/models/saml2_sso.py | 159 + .../FA_2_26/models/saml2_sso_get_response.py | 147 + .../FA_2_26/models/saml2_sso_idp.py | 159 + .../FA_2_26/models/saml2_sso_patch.py | 147 + .../FA_2_26/models/saml2_sso_post.py | 141 + .../FA_2_26/models/saml2_sso_response.py | 129 + .../flasharray/FA_2_26/models/saml2_sso_sp.py | 153 + .../FA_2_26/models/saml2_sso_sp_credential.py | 135 + .../flasharray/FA_2_26/models/session.py | 183 + .../FA_2_26/models/session_get_response.py | 147 + .../flasharray/FA_2_26/models/smis.py | 135 + .../FA_2_26/models/smis_get_response.py | 147 + .../FA_2_26/models/smis_response.py | 129 + .../flasharray/FA_2_26/models/smtp.py | 153 + .../flasharray/FA_2_26/models/smtp_server.py | 153 + .../models/smtp_server_get_response.py | 147 + .../FA_2_26/models/smtp_server_response.py | 129 + .../flasharray/FA_2_26/models/snapshot.py | 165 + .../FA_2_26/models/snapshot_schedule.py | 141 + .../FA_2_26/models/snapshot_space.py | 236 + .../flasharray/FA_2_26/models/snmp_agent.py | 156 + .../FA_2_26/models/snmp_agent_get_response.py | 147 + .../FA_2_26/models/snmp_agent_mib.py | 129 + .../models/snmp_agent_mib_get_response.py | 147 + .../FA_2_26/models/snmp_agent_mib_response.py | 129 + .../FA_2_26/models/snmp_agent_patch.py | 156 + .../FA_2_26/models/snmp_agent_response.py | 129 + .../flasharray/FA_2_26/models/snmp_manager.py | 159 + .../models/snmp_manager_get_response.py | 147 + .../FA_2_26/models/snmp_manager_patch.py | 159 + .../FA_2_26/models/snmp_manager_post.py | 153 + .../FA_2_26/models/snmp_manager_response.py | 129 + .../FA_2_26/models/snmp_managers.py | 159 + .../flasharray/FA_2_26/models/snmp_v2c.py | 132 + .../flasharray/FA_2_26/models/snmp_v3.py | 153 + .../FA_2_26/models/snmp_v3_patch.py | 161 + .../flasharray/FA_2_26/models/snmp_v3_post.py | 161 + .../flasharray/FA_2_26/models/software.py | 177 + .../FA_2_26/models/software_bundle.py | 159 + .../models/software_bundle_get_response.py | 147 + .../FA_2_26/models/software_bundle_post.py | 129 + .../models/software_bundle_response.py | 129 + .../FA_2_26/models/software_check.py | 183 + .../FA_2_26/models/software_checks.py | 183 + .../FA_2_26/models/software_checks_checks.py | 141 + .../models/software_checks_get_response.py | 147 + .../models/software_checks_response.py | 129 + .../FA_2_26/models/software_get_response.py | 147 + .../FA_2_26/models/software_installation.py | 183 + .../models/software_installation_patch.py | 129 + .../models/software_installation_post.py | 135 + .../models/software_installation_step.py | 183 + .../models/software_installation_steps.py | 183 + .../software_installation_steps_checks.py | 147 + ...oftware_installation_steps_get_response.py | 147 + .../software_installation_steps_response.py | 129 + .../FA_2_26/models/software_installations.py | 183 + .../software_installations_get_response.py | 147 + .../models/software_installations_response.py | 129 + .../FA_2_26/models/software_patch.py | 159 + .../FA_2_26/models/software_patches.py | 159 + .../models/software_patches_get_response.py | 147 + .../models/software_patches_response.py | 129 + .../FA_2_26/models/software_post.py | 135 + .../FA_2_26/models/software_response.py | 129 + .../FA_2_26/models/software_upgrade_plan.py | 141 + .../FA_2_26/models/software_version.py | 153 + .../FA_2_26/models/software_versions.py | 153 + .../models/software_versions_get_response.py | 147 + .../models/software_versions_response.py | 129 + .../flasharray/FA_2_26/models/space.py | 227 + .../FA_2_26/models/start_end_time.py | 135 + .../flasharray/FA_2_26/models/subnet.py | 176 + .../FA_2_26/models/subnet_get_response.py | 147 + .../flasharray/FA_2_26/models/subnet_patch.py | 164 + .../flasharray/FA_2_26/models/subnet_post.py | 158 + .../FA_2_26/models/subnet_response.py | 129 + .../flasharray/FA_2_26/models/subscription.py | 135 + .../FA_2_26/models/subscription_asset.py | 141 + .../models/subscription_asset_get_response.py | 147 + .../models/subscription_asset_response.py | 129 + .../models/subscription_asset_subscription.py | 129 + .../models/subscription_get_response.py | 147 + .../FA_2_26/models/subscription_response.py | 129 + .../flasharray/FA_2_26/models/support.py | 165 + .../FA_2_26/models/support_get_response.py | 147 + .../FA_2_26/models/support_patch.py | 141 + .../models/support_remote_assist_paths.py | 135 + .../FA_2_26/models/support_response.py | 129 + .../FA_2_26/models/syslog_server.py | 135 + .../models/syslog_server_get_response.py | 147 + .../FA_2_26/models/syslog_server_response.py | 129 + .../FA_2_26/models/syslog_server_settings.py | 141 + .../syslog_server_settings_get_response.py | 147 + .../models/syslog_server_settings_response.py | 129 + pypureclient/flasharray/FA_2_26/models/tag.py | 153 + .../FA_2_26/models/tag_get_response.py | 147 + .../flasharray/FA_2_26/models/tag_response.py | 129 + .../FA_2_26/models/target_protection_group.py | 141 + .../target_protection_group_post_patch.py | 141 + .../flasharray/FA_2_26/models/test_result.py | 171 + .../models/test_result_get_response.py | 147 + .../FA_2_26/models/test_result_response.py | 129 + .../models/test_result_with_resource.py | 177 + .../test_result_with_resource_get_response.py | 135 + ...est_result_with_resource_patch_response.py | 129 + ...test_result_with_resource_post_response.py | 129 + .../test_result_with_resource_response.py | 147 + .../test_result_with_resource_with_id.py | 177 + ...ult_with_resource_with_id_post_response.py | 129 + .../flasharray/FA_2_26/models/throttle.py | 141 + .../flasharray/FA_2_26/models/time_window.py | 135 + .../models/total_item_count_response.py | 129 + .../flasharray/FA_2_26/models/transfer.py | 159 + .../flasharray/FA_2_26/models/username.py | 129 + .../FA_2_26/models/username_response.py | 129 + .../flasharray/FA_2_26/models/vchost.py | 141 + .../FA_2_26/models/vchost_certificate.py | 147 + .../models/vchost_certificate_get_response.py | 147 + .../models/vchost_certificate_patch.py | 129 + .../FA_2_26/models/vchost_certificate_post.py | 135 + .../models/vchost_certificate_response.py | 129 + .../FA_2_26/models/vchost_endpoint.py | 147 + .../models/vchost_endpoint_get_response.py | 147 + .../FA_2_26/models/vchost_endpoint_patch.py | 129 + .../FA_2_26/models/vchost_endpoint_post.py | 135 + .../models/vchost_endpoint_response.py | 129 + .../FA_2_26/models/vchost_get_response.py | 147 + .../flasharray/FA_2_26/models/vchost_patch.py | 129 + .../flasharray/FA_2_26/models/vchost_post.py | 129 + .../FA_2_26/models/vchost_response.py | 129 + .../FA_2_26/models/virtual_machine.py | 171 + .../models/virtual_machine_get_response.py | 147 + .../FA_2_26/models/virtual_machine_post.py | 147 + .../models/virtual_machine_response.py | 129 + .../flasharray/FA_2_26/models/volume.py | 237 + .../FA_2_26/models/volume_common.py | 195 + .../flasharray/FA_2_26/models/volume_diff.py | 135 + .../FA_2_26/models/volume_get_response.py | 153 + .../flasharray/FA_2_26/models/volume_group.py | 177 + .../models/volume_group_get_response.py | 153 + .../FA_2_26/models/volume_group_patch.py | 159 + .../models/volume_group_performance.py | 377 + .../FA_2_26/models/volume_group_post.py | 171 + .../FA_2_26/models/volume_group_response.py | 129 + .../FA_2_26/models/volume_group_space.py | 147 + .../flasharray/FA_2_26/models/volume_patch.py | 174 + .../FA_2_26/models/volume_performance.py | 377 + .../models/volume_performance_by_array.py | 383 + .../flasharray/FA_2_26/models/volume_post.py | 162 + .../FA_2_26/models/volume_response.py | 129 + .../FA_2_26/models/volume_snapshot.py | 195 + .../models/volume_snapshot_get_response.py | 153 + .../FA_2_26/models/volume_snapshot_patch.py | 135 + .../FA_2_26/models/volume_snapshot_post.py | 135 + .../models/volume_snapshot_response.py | 129 + .../models/volume_snapshot_transfer.py | 171 + .../volume_snapshot_transfer_get_response.py | 153 + .../volume_snapshot_transfer_response.py | 129 + .../flasharray/FA_2_26/models/volume_space.py | 147 + .../FA_2_26/models/volume_space_common.py | 254 + .../models/volume_space_get_response.py | 153 + .../models/volumes_diff_get_response.py | 147 + .../FA_2_26/models/volumes_diff_response.py | 129 + pypureclient/flasharray/FA_2_26/rest.py | 331 + .../FA_2_3/models/array_performance.py | 42 +- .../FA_2_3/models/directory_performance.py | 6 +- .../FA_2_3/models/host_group_performance.py | 38 +- .../models/host_group_performance_by_array.py | 38 +- .../FA_2_3/models/host_performance.py | 38 +- .../models/host_performance_by_array.py | 38 +- .../flasharray/FA_2_3/models/performance.py | 38 +- .../FA_2_3/models/pod_array_status.py | 2 +- .../FA_2_3/models/pod_performance.py | 38 +- .../FA_2_3/models/pod_performance_by_array.py | 38 +- .../FA_2_3/models/resource_performance.py | 38 +- .../models/resource_performance_by_array.py | 38 +- .../models/resource_performance_no_id.py | 38 +- .../resource_performance_no_id_by_array.py | 38 +- .../FA_2_3/models/volume_group_performance.py | 38 +- .../FA_2_3/models/volume_performance.py | 38 +- .../models/volume_performance_by_array.py | 38 +- .../FA_2_4/models/array_performance.py | 42 +- .../FA_2_4/models/directory_performance.py | 6 +- .../FA_2_4/models/host_group_performance.py | 38 +- .../models/host_group_performance_by_array.py | 38 +- .../FA_2_4/models/host_performance.py | 38 +- .../models/host_performance_by_array.py | 38 +- .../flasharray/FA_2_4/models/performance.py | 38 +- .../FA_2_4/models/pod_array_status.py | 2 +- .../FA_2_4/models/pod_performance.py | 38 +- .../FA_2_4/models/pod_performance_by_array.py | 38 +- .../FA_2_4/models/resource_performance.py | 38 +- .../models/resource_performance_by_array.py | 38 +- .../models/resource_performance_no_id.py | 38 +- .../resource_performance_no_id_by_array.py | 38 +- .../FA_2_4/models/volume_group_performance.py | 38 +- .../FA_2_4/models/volume_performance.py | 38 +- .../models/volume_performance_by_array.py | 38 +- .../FA_2_5/models/array_performance.py | 42 +- .../FA_2_5/models/directory_performance.py | 6 +- .../FA_2_5/models/host_group_performance.py | 38 +- .../models/host_group_performance_by_array.py | 38 +- .../FA_2_5/models/host_performance.py | 38 +- .../models/host_performance_by_array.py | 38 +- .../flasharray/FA_2_5/models/performance.py | 38 +- .../FA_2_5/models/pod_array_status.py | 2 +- .../FA_2_5/models/pod_performance.py | 38 +- .../FA_2_5/models/pod_performance_by_array.py | 38 +- .../FA_2_5/models/resource_performance.py | 38 +- .../models/resource_performance_by_array.py | 38 +- .../models/resource_performance_no_id.py | 38 +- .../resource_performance_no_id_by_array.py | 38 +- .../FA_2_5/models/volume_group_performance.py | 38 +- .../FA_2_5/models/volume_performance.py | 38 +- .../models/volume_performance_by_array.py | 38 +- .../FA_2_6/models/array_performance.py | 42 +- .../FA_2_6/models/directory_performance.py | 6 +- .../FA_2_6/models/host_group_performance.py | 38 +- .../models/host_group_performance_by_array.py | 38 +- .../FA_2_6/models/host_performance.py | 38 +- .../models/host_performance_by_array.py | 38 +- .../flasharray/FA_2_6/models/performance.py | 38 +- .../FA_2_6/models/pod_array_status.py | 2 +- .../FA_2_6/models/pod_performance.py | 38 +- .../FA_2_6/models/pod_performance_by_array.py | 38 +- .../FA_2_6/models/resource_performance.py | 38 +- .../models/resource_performance_by_array.py | 38 +- .../models/resource_performance_no_id.py | 38 +- .../resource_performance_no_id_by_array.py | 38 +- .../FA_2_6/models/volume_group_performance.py | 38 +- .../FA_2_6/models/volume_performance.py | 38 +- .../models/volume_performance_by_array.py | 38 +- .../FA_2_7/models/array_performance.py | 42 +- .../FA_2_7/models/directory_performance.py | 6 +- .../FA_2_7/models/host_group_performance.py | 38 +- .../models/host_group_performance_by_array.py | 38 +- .../FA_2_7/models/host_performance.py | 38 +- .../models/host_performance_by_array.py | 38 +- .../flasharray/FA_2_7/models/performance.py | 38 +- .../FA_2_7/models/pod_array_status.py | 2 +- .../FA_2_7/models/pod_performance.py | 38 +- .../FA_2_7/models/pod_performance_by_array.py | 38 +- .../FA_2_7/models/resource_performance.py | 38 +- .../models/resource_performance_by_array.py | 38 +- .../models/resource_performance_no_id.py | 38 +- .../resource_performance_no_id_by_array.py | 38 +- .../FA_2_7/models/volume_group_performance.py | 38 +- .../FA_2_7/models/volume_performance.py | 38 +- .../models/volume_performance_by_array.py | 38 +- .../FA_2_8/models/array_performance.py | 42 +- .../FA_2_8/models/directory_performance.py | 6 +- .../FA_2_8/models/host_group_performance.py | 38 +- .../models/host_group_performance_by_array.py | 38 +- .../FA_2_8/models/host_performance.py | 38 +- .../models/host_performance_by_array.py | 38 +- .../flasharray/FA_2_8/models/performance.py | 38 +- .../FA_2_8/models/pod_array_status.py | 2 +- .../FA_2_8/models/pod_performance.py | 38 +- .../FA_2_8/models/pod_performance_by_array.py | 38 +- .../FA_2_8/models/resource_performance.py | 38 +- .../models/resource_performance_by_array.py | 38 +- .../models/resource_performance_no_id.py | 38 +- .../resource_performance_no_id_by_array.py | 38 +- .../FA_2_8/models/volume_group_performance.py | 38 +- .../FA_2_8/models/volume_performance.py | 38 +- .../models/volume_performance_by_array.py | 38 +- .../FA_2_9/models/array_performance.py | 42 +- .../FA_2_9/models/directory_performance.py | 6 +- .../FA_2_9/models/host_group_performance.py | 38 +- .../models/host_group_performance_by_array.py | 38 +- .../FA_2_9/models/host_performance.py | 38 +- .../models/host_performance_by_array.py | 38 +- .../flasharray/FA_2_9/models/performance.py | 38 +- .../FA_2_9/models/pod_array_status.py | 2 +- .../FA_2_9/models/pod_performance.py | 38 +- .../FA_2_9/models/pod_performance_by_array.py | 38 +- .../FA_2_9/models/resource_performance.py | 38 +- .../models/resource_performance_by_array.py | 38 +- .../models/resource_performance_no_id.py | 38 +- .../resource_performance_no_id_by_array.py | 38 +- .../FA_2_9/models/volume_group_performance.py | 38 +- .../FA_2_9/models/volume_performance.py | 38 +- .../models/volume_performance_by_array.py | 38 +- pypureclient/flasharray/__init__.py | 2 +- pypureclient/flasharray/client.py | 66 +- requirements.txt | 10 +- setup.py | 20 +- 1086 files changed, 186185 insertions(+), 7132 deletions(-) create mode 100644 docs/source/pypureclient.flasharray.FA_2_26.api.rst create mode 100644 docs/source/pypureclient.flasharray.FA_2_26.models.rst create mode 100644 docs/source/pypureclient.flasharray.FA_2_26.rst create mode 100644 pypureclient/flasharray/FA_2_26/__init__.py create mode 100644 pypureclient/flasharray/FA_2_26/api/__init__.py create mode 100644 pypureclient/flasharray/FA_2_26/api/active_directory_api.py create mode 100644 pypureclient/flasharray/FA_2_26/api/administrators_api.py create mode 100644 pypureclient/flasharray/FA_2_26/api/alert_watchers_api.py create mode 100644 pypureclient/flasharray/FA_2_26/api/alerts_api.py create mode 100644 pypureclient/flasharray/FA_2_26/api/api_clients_api.py create mode 100644 pypureclient/flasharray/FA_2_26/api/apps_api.py create mode 100644 pypureclient/flasharray/FA_2_26/api/array_connections_api.py create mode 100644 pypureclient/flasharray/FA_2_26/api/arrays_api.py create mode 100644 pypureclient/flasharray/FA_2_26/api/audits_api.py create mode 100644 pypureclient/flasharray/FA_2_26/api/authorization_api.py create mode 100644 pypureclient/flasharray/FA_2_26/api/certificates_api.py create mode 100644 pypureclient/flasharray/FA_2_26/api/connections_api.py create mode 100644 pypureclient/flasharray/FA_2_26/api/container_default_protections_api.py create mode 100644 pypureclient/flasharray/FA_2_26/api/controllers_api.py create mode 100644 pypureclient/flasharray/FA_2_26/api/directories_api.py create mode 100644 pypureclient/flasharray/FA_2_26/api/directory_exports_api.py create mode 100644 pypureclient/flasharray/FA_2_26/api/directory_quotas_api.py create mode 100644 pypureclient/flasharray/FA_2_26/api/directory_services_api.py create mode 100644 pypureclient/flasharray/FA_2_26/api/directory_snapshots_api.py create mode 100644 pypureclient/flasharray/FA_2_26/api/dns_api.py create mode 100644 pypureclient/flasharray/FA_2_26/api/drives_api.py create mode 100644 pypureclient/flasharray/FA_2_26/api/file_systems_api.py create mode 100644 pypureclient/flasharray/FA_2_26/api/files_api.py create mode 100644 pypureclient/flasharray/FA_2_26/api/hardware_api.py create mode 100644 pypureclient/flasharray/FA_2_26/api/host_groups_api.py create mode 100644 pypureclient/flasharray/FA_2_26/api/hosts_api.py create mode 100644 pypureclient/flasharray/FA_2_26/api/kmip_api.py create mode 100644 pypureclient/flasharray/FA_2_26/api/maintenance_windows_api.py create mode 100644 pypureclient/flasharray/FA_2_26/api/network_interfaces_api.py create mode 100644 pypureclient/flasharray/FA_2_26/api/offloads_api.py create mode 100644 pypureclient/flasharray/FA_2_26/api/pod_replica_links_api.py create mode 100644 pypureclient/flasharray/FA_2_26/api/pods_api.py create mode 100644 pypureclient/flasharray/FA_2_26/api/policies_api.py create mode 100644 pypureclient/flasharray/FA_2_26/api/ports_api.py create mode 100644 pypureclient/flasharray/FA_2_26/api/protection_group_snapshots_api.py create mode 100644 pypureclient/flasharray/FA_2_26/api/protection_groups_api.py create mode 100644 pypureclient/flasharray/FA_2_26/api/remote_pods_api.py create mode 100644 pypureclient/flasharray/FA_2_26/api/remote_protection_group_snapshots_api.py create mode 100644 pypureclient/flasharray/FA_2_26/api/remote_protection_groups_api.py create mode 100644 pypureclient/flasharray/FA_2_26/api/remote_volume_snapshots_api.py create mode 100644 pypureclient/flasharray/FA_2_26/api/saml2_sso_api.py create mode 100644 pypureclient/flasharray/FA_2_26/api/sessions_api.py create mode 100644 pypureclient/flasharray/FA_2_26/api/smi_s_api.py create mode 100644 pypureclient/flasharray/FA_2_26/api/smtp_api.py create mode 100644 pypureclient/flasharray/FA_2_26/api/snmp_agents_api.py create mode 100644 pypureclient/flasharray/FA_2_26/api/snmp_managers_api.py create mode 100644 pypureclient/flasharray/FA_2_26/api/software_api.py create mode 100644 pypureclient/flasharray/FA_2_26/api/subnets_api.py create mode 100644 pypureclient/flasharray/FA_2_26/api/subscription_assets_api.py create mode 100644 pypureclient/flasharray/FA_2_26/api/subscriptions_api.py create mode 100644 pypureclient/flasharray/FA_2_26/api/support_api.py create mode 100644 pypureclient/flasharray/FA_2_26/api/syslog_api.py create mode 100644 pypureclient/flasharray/FA_2_26/api/vchosts_api.py create mode 100644 pypureclient/flasharray/FA_2_26/api/virtual_machines_api.py create mode 100644 pypureclient/flasharray/FA_2_26/api/volume_groups_api.py create mode 100644 pypureclient/flasharray/FA_2_26/api/volume_snapshots_api.py create mode 100644 pypureclient/flasharray/FA_2_26/api/volumes_api.py create mode 100644 pypureclient/flasharray/FA_2_26/api_client.py create mode 100644 pypureclient/flasharray/FA_2_26/client.py create mode 100644 pypureclient/flasharray/FA_2_26/configuration.py create mode 100644 pypureclient/flasharray/FA_2_26/models/__init__.py create mode 100644 pypureclient/flasharray/FA_2_26/models/active_directory.py create mode 100644 pypureclient/flasharray/FA_2_26/models/active_directory_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/active_directory_patch.py create mode 100644 pypureclient/flasharray/FA_2_26/models/active_directory_post.py create mode 100644 pypureclient/flasharray/FA_2_26/models/active_directory_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/admin.py create mode 100644 pypureclient/flasharray/FA_2_26/models/admin_api_token.py create mode 100644 pypureclient/flasharray/FA_2_26/models/admin_api_token_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/admin_api_token_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/admin_cache.py create mode 100644 pypureclient/flasharray/FA_2_26/models/admin_cache_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/admin_cache_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/admin_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/admin_patch.py create mode 100644 pypureclient/flasharray/FA_2_26/models/admin_post.py create mode 100644 pypureclient/flasharray/FA_2_26/models/admin_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/admin_role.py create mode 100644 pypureclient/flasharray/FA_2_26/models/admin_settings.py create mode 100644 pypureclient/flasharray/FA_2_26/models/admin_settings_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/aggregate_replication_performance.py create mode 100644 pypureclient/flasharray/FA_2_26/models/alert.py create mode 100644 pypureclient/flasharray/FA_2_26/models/alert_event.py create mode 100644 pypureclient/flasharray/FA_2_26/models/alert_event_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/alert_event_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/alert_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/alert_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/alert_rules.py create mode 100644 pypureclient/flasharray/FA_2_26/models/alert_rules_catalog.py create mode 100644 pypureclient/flasharray/FA_2_26/models/alert_rules_catalog_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/alert_rules_catalog_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/alert_rules_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/alert_rules_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/alert_watcher.py create mode 100644 pypureclient/flasharray/FA_2_26/models/alert_watcher_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/alert_watcher_patch.py create mode 100644 pypureclient/flasharray/FA_2_26/models/alert_watcher_post.py create mode 100644 pypureclient/flasharray/FA_2_26/models/alert_watcher_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/api_client.py create mode 100644 pypureclient/flasharray/FA_2_26/models/api_client_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/api_client_patch.py create mode 100644 pypureclient/flasharray/FA_2_26/models/api_client_post.py create mode 100644 pypureclient/flasharray/FA_2_26/models/api_client_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/api_token.py create mode 100644 pypureclient/flasharray/FA_2_26/models/api_version_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/app.py create mode 100644 pypureclient/flasharray/FA_2_26/models/app_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/app_node.py create mode 100644 pypureclient/flasharray/FA_2_26/models/app_node_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/app_node_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/app_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/array.py create mode 100644 pypureclient/flasharray/FA_2_26/models/array_connection.py create mode 100644 pypureclient/flasharray/FA_2_26/models/array_connection_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/array_connection_key.py create mode 100644 pypureclient/flasharray/FA_2_26/models/array_connection_key_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/array_connection_path.py create mode 100644 pypureclient/flasharray/FA_2_26/models/array_connection_path_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/array_connection_path_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/array_connection_post.py create mode 100644 pypureclient/flasharray/FA_2_26/models/array_connection_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/array_encryption.py create mode 100644 pypureclient/flasharray/FA_2_26/models/array_factory_reset_token.py create mode 100644 pypureclient/flasharray/FA_2_26/models/array_factory_reset_token_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/array_factory_reset_token_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/array_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/array_performance.py create mode 100644 pypureclient/flasharray/FA_2_26/models/array_performance_by_link.py create mode 100644 pypureclient/flasharray/FA_2_26/models/array_performance_by_link_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/array_performance_by_link_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/array_performance_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/array_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/array_space.py create mode 100644 pypureclient/flasharray/FA_2_26/models/array_space_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/arrayencryption_data_at_rest.py create mode 100644 pypureclient/flasharray/FA_2_26/models/arrays.py create mode 100644 pypureclient/flasharray/FA_2_26/models/audit.py create mode 100644 pypureclient/flasharray/FA_2_26/models/audit_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/audit_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/built_in.py create mode 100644 pypureclient/flasharray/FA_2_26/models/built_in_relationship.py create mode 100644 pypureclient/flasharray/FA_2_26/models/built_in_resource_no_id.py create mode 100644 pypureclient/flasharray/FA_2_26/models/certificate.py create mode 100644 pypureclient/flasharray/FA_2_26/models/certificate_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/certificate_post.py create mode 100644 pypureclient/flasharray/FA_2_26/models/certificate_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/certificate_signing_request.py create mode 100644 pypureclient/flasharray/FA_2_26/models/certificate_signing_request_post.py create mode 100644 pypureclient/flasharray/FA_2_26/models/certificate_signing_request_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/chap.py create mode 100644 pypureclient/flasharray/FA_2_26/models/cloud_provider_tag.py create mode 100644 pypureclient/flasharray/FA_2_26/models/cloud_provider_tag_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/cloud_provider_tag_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/connection.py create mode 100644 pypureclient/flasharray/FA_2_26/models/connection_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/connection_post.py create mode 100644 pypureclient/flasharray/FA_2_26/models/connection_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/container_default_protection.py create mode 100644 pypureclient/flasharray/FA_2_26/models/container_default_protection_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/container_default_protection_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/controller.py create mode 100644 pypureclient/flasharray/FA_2_26/models/controller_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/controllers.py create mode 100644 pypureclient/flasharray/FA_2_26/models/default_protection_reference.py create mode 100644 pypureclient/flasharray/FA_2_26/models/destroyed_patch_post.py create mode 100644 pypureclient/flasharray/FA_2_26/models/directory.py create mode 100644 pypureclient/flasharray/FA_2_26/models/directory_export.py create mode 100644 pypureclient/flasharray/FA_2_26/models/directory_export_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/directory_export_post.py create mode 100644 pypureclient/flasharray/FA_2_26/models/directory_export_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/directory_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/directory_lock_nlm_reclamation.py create mode 100644 pypureclient/flasharray/FA_2_26/models/directory_lock_nlm_reclamation_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/directory_patch.py create mode 100644 pypureclient/flasharray/FA_2_26/models/directory_performance.py create mode 100644 pypureclient/flasharray/FA_2_26/models/directory_performance_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/directory_policy_export_post.py create mode 100644 pypureclient/flasharray/FA_2_26/models/directory_policy_post.py create mode 100644 pypureclient/flasharray/FA_2_26/models/directory_post.py create mode 100644 pypureclient/flasharray/FA_2_26/models/directory_quota.py create mode 100644 pypureclient/flasharray/FA_2_26/models/directory_quotas_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/directory_quotas_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/directory_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/directory_service.py create mode 100644 pypureclient/flasharray/FA_2_26/models/directory_service_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/directory_service_management.py create mode 100644 pypureclient/flasharray/FA_2_26/models/directory_service_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/directory_service_role.py create mode 100644 pypureclient/flasharray/FA_2_26/models/directory_service_role_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/directory_service_role_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/directory_snapshot.py create mode 100644 pypureclient/flasharray/FA_2_26/models/directory_snapshot_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/directory_snapshot_patch.py create mode 100644 pypureclient/flasharray/FA_2_26/models/directory_snapshot_post.py create mode 100644 pypureclient/flasharray/FA_2_26/models/directory_snapshot_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/directory_space.py create mode 100644 pypureclient/flasharray/FA_2_26/models/directorypolicyexportpost_policies.py create mode 100644 pypureclient/flasharray/FA_2_26/models/directorypolicypost_policies.py create mode 100644 pypureclient/flasharray/FA_2_26/models/dns.py create mode 100644 pypureclient/flasharray/FA_2_26/models/dns_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/dns_patch.py create mode 100644 pypureclient/flasharray/FA_2_26/models/dns_post.py create mode 100644 pypureclient/flasharray/FA_2_26/models/dns_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/drive.py create mode 100644 pypureclient/flasharray/FA_2_26/models/drive_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/drive_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/eradication_config.py create mode 100644 pypureclient/flasharray/FA_2_26/models/eula.py create mode 100644 pypureclient/flasharray/FA_2_26/models/eula_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/eula_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/eula_signature.py create mode 100644 pypureclient/flasharray/FA_2_26/models/file_post.py create mode 100644 pypureclient/flasharray/FA_2_26/models/file_system.py create mode 100644 pypureclient/flasharray/FA_2_26/models/file_system_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/file_system_patch.py create mode 100644 pypureclient/flasharray/FA_2_26/models/file_system_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/fixed_name_resource_no_id.py create mode 100644 pypureclient/flasharray/FA_2_26/models/fixed_reference.py create mode 100644 pypureclient/flasharray/FA_2_26/models/fixed_reference_no_id.py create mode 100644 pypureclient/flasharray/FA_2_26/models/fixed_reference_with_type.py create mode 100644 pypureclient/flasharray/FA_2_26/models/hardware.py create mode 100644 pypureclient/flasharray/FA_2_26/models/hardware_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/hardware_patch.py create mode 100644 pypureclient/flasharray/FA_2_26/models/hardware_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/host.py create mode 100644 pypureclient/flasharray/FA_2_26/models/host_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/host_group.py create mode 100644 pypureclient/flasharray/FA_2_26/models/host_group_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/host_group_patch.py create mode 100644 pypureclient/flasharray/FA_2_26/models/host_group_performance.py create mode 100644 pypureclient/flasharray/FA_2_26/models/host_group_performance_by_array.py create mode 100644 pypureclient/flasharray/FA_2_26/models/host_group_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/host_group_space.py create mode 100644 pypureclient/flasharray/FA_2_26/models/host_patch.py create mode 100644 pypureclient/flasharray/FA_2_26/models/host_performance.py create mode 100644 pypureclient/flasharray/FA_2_26/models/host_performance_balance.py create mode 100644 pypureclient/flasharray/FA_2_26/models/host_performance_balance_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/host_performance_by_array.py create mode 100644 pypureclient/flasharray/FA_2_26/models/host_port_connectivity.py create mode 100644 pypureclient/flasharray/FA_2_26/models/host_post.py create mode 100644 pypureclient/flasharray/FA_2_26/models/host_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/host_space.py create mode 100644 pypureclient/flasharray/FA_2_26/models/inline_response400.py create mode 100644 pypureclient/flasharray/FA_2_26/models/inline_response401.py create mode 100644 pypureclient/flasharray/FA_2_26/models/kmip.py create mode 100644 pypureclient/flasharray/FA_2_26/models/kmip_certificate.py create mode 100644 pypureclient/flasharray/FA_2_26/models/kmip_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/kmip_object.py create mode 100644 pypureclient/flasharray/FA_2_26/models/kmip_patch.py create mode 100644 pypureclient/flasharray/FA_2_26/models/kmip_post.py create mode 100644 pypureclient/flasharray/FA_2_26/models/kmip_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/kmip_test_result.py create mode 100644 pypureclient/flasharray/FA_2_26/models/kmip_test_result_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/limited_by.py create mode 100644 pypureclient/flasharray/FA_2_26/models/local_group.py create mode 100644 pypureclient/flasharray/FA_2_26/models/local_group_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/local_group_membership_post.py create mode 100644 pypureclient/flasharray/FA_2_26/models/local_group_post.py create mode 100644 pypureclient/flasharray/FA_2_26/models/local_group_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/local_member.py create mode 100644 pypureclient/flasharray/FA_2_26/models/local_membership_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/local_membership_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/local_user.py create mode 100644 pypureclient/flasharray/FA_2_26/models/local_user_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/local_user_membership_post.py create mode 100644 pypureclient/flasharray/FA_2_26/models/local_user_patch.py create mode 100644 pypureclient/flasharray/FA_2_26/models/local_user_post.py create mode 100644 pypureclient/flasharray/FA_2_26/models/local_user_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/localgroupmembershippost_members.py create mode 100644 pypureclient/flasharray/FA_2_26/models/localusermembershippost_groups.py create mode 100644 pypureclient/flasharray/FA_2_26/models/maintenance_window.py create mode 100644 pypureclient/flasharray/FA_2_26/models/maintenance_window_post.py create mode 100644 pypureclient/flasharray/FA_2_26/models/maintenance_windows_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/maintenance_windows_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/member.py create mode 100644 pypureclient/flasharray/FA_2_26/models/member_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/member_no_id_all.py create mode 100644 pypureclient/flasharray/FA_2_26/models/member_no_id_all_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/member_no_id_all_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/member_no_id_group.py create mode 100644 pypureclient/flasharray/FA_2_26/models/member_no_id_member.py create mode 100644 pypureclient/flasharray/FA_2_26/models/member_no_id_member_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/member_no_id_member_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/member_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/network_interface.py create mode 100644 pypureclient/flasharray/FA_2_26/models/network_interface_eth.py create mode 100644 pypureclient/flasharray/FA_2_26/models/network_interface_fc.py create mode 100644 pypureclient/flasharray/FA_2_26/models/network_interface_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/network_interface_neighbor.py create mode 100644 pypureclient/flasharray/FA_2_26/models/network_interface_neighbor_capability.py create mode 100644 pypureclient/flasharray/FA_2_26/models/network_interface_neighbor_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/network_interface_neighbor_neighbor_chassis.py create mode 100644 pypureclient/flasharray/FA_2_26/models/network_interface_neighbor_neighbor_chassis_id.py create mode 100644 pypureclient/flasharray/FA_2_26/models/network_interface_neighbor_neighbor_port.py create mode 100644 pypureclient/flasharray/FA_2_26/models/network_interface_neighbor_neighbor_port_id.py create mode 100644 pypureclient/flasharray/FA_2_26/models/network_interface_neighbor_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/network_interface_patch.py create mode 100644 pypureclient/flasharray/FA_2_26/models/network_interface_performance.py create mode 100644 pypureclient/flasharray/FA_2_26/models/network_interface_performance_eth.py create mode 100644 pypureclient/flasharray/FA_2_26/models/network_interface_performance_fc.py create mode 100644 pypureclient/flasharray/FA_2_26/models/network_interface_performance_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/network_interface_port_details.py create mode 100644 pypureclient/flasharray/FA_2_26/models/network_interface_port_details_rx_los.py create mode 100644 pypureclient/flasharray/FA_2_26/models/network_interface_port_details_rx_power.py create mode 100644 pypureclient/flasharray/FA_2_26/models/network_interface_port_details_static.py create mode 100644 pypureclient/flasharray/FA_2_26/models/network_interface_port_details_static_rx_power_thresholds.py create mode 100644 pypureclient/flasharray/FA_2_26/models/network_interface_port_details_static_temperature_thresholds.py create mode 100644 pypureclient/flasharray/FA_2_26/models/network_interface_port_details_static_tx_bias_thresholds.py create mode 100644 pypureclient/flasharray/FA_2_26/models/network_interface_port_details_static_tx_power_thresholds.py create mode 100644 pypureclient/flasharray/FA_2_26/models/network_interface_port_details_static_voltage_thresholds.py create mode 100644 pypureclient/flasharray/FA_2_26/models/network_interface_port_details_temperature.py create mode 100644 pypureclient/flasharray/FA_2_26/models/network_interface_port_details_tx_bias.py create mode 100644 pypureclient/flasharray/FA_2_26/models/network_interface_port_details_tx_fault.py create mode 100644 pypureclient/flasharray/FA_2_26/models/network_interface_port_details_tx_power.py create mode 100644 pypureclient/flasharray/FA_2_26/models/network_interface_port_details_voltage.py create mode 100644 pypureclient/flasharray/FA_2_26/models/network_interface_post.py create mode 100644 pypureclient/flasharray/FA_2_26/models/network_interface_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/network_interfaces_port_details.py create mode 100644 pypureclient/flasharray/FA_2_26/models/network_interfaces_port_details_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/network_interfaces_port_details_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/networkinterfacepatch_eth.py create mode 100644 pypureclient/flasharray/FA_2_26/models/networkinterfacepost_eth.py create mode 100644 pypureclient/flasharray/FA_2_26/models/new_name.py create mode 100644 pypureclient/flasharray/FA_2_26/models/oauth_token_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/offload.py create mode 100644 pypureclient/flasharray/FA_2_26/models/offload_azure.py create mode 100644 pypureclient/flasharray/FA_2_26/models/offload_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/offload_google_cloud.py create mode 100644 pypureclient/flasharray/FA_2_26/models/offload_nfs.py create mode 100644 pypureclient/flasharray/FA_2_26/models/offload_post.py create mode 100644 pypureclient/flasharray/FA_2_26/models/offload_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/offload_s3.py create mode 100644 pypureclient/flasharray/FA_2_26/models/override_check.py create mode 100644 pypureclient/flasharray/FA_2_26/models/page_info.py create mode 100644 pypureclient/flasharray/FA_2_26/models/performance.py create mode 100644 pypureclient/flasharray/FA_2_26/models/pod.py create mode 100644 pypureclient/flasharray/FA_2_26/models/pod_array_status.py create mode 100644 pypureclient/flasharray/FA_2_26/models/pod_eradication_config.py create mode 100644 pypureclient/flasharray/FA_2_26/models/pod_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/pod_patch.py create mode 100644 pypureclient/flasharray/FA_2_26/models/pod_performance.py create mode 100644 pypureclient/flasharray/FA_2_26/models/pod_performance_by_array.py create mode 100644 pypureclient/flasharray/FA_2_26/models/pod_performance_by_array_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/pod_performance_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/pod_performance_replication.py create mode 100644 pypureclient/flasharray/FA_2_26/models/pod_performance_replication_by_array.py create mode 100644 pypureclient/flasharray/FA_2_26/models/pod_performance_replication_by_array_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/pod_performance_replication_by_array_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/pod_performance_replication_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/pod_performance_replication_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/pod_post.py create mode 100644 pypureclient/flasharray/FA_2_26/models/pod_replica_link.py create mode 100644 pypureclient/flasharray/FA_2_26/models/pod_replica_link_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/pod_replica_link_lag.py create mode 100644 pypureclient/flasharray/FA_2_26/models/pod_replica_link_lag_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/pod_replica_link_lag_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/pod_replica_link_patch.py create mode 100644 pypureclient/flasharray/FA_2_26/models/pod_replica_link_performance.py create mode 100644 pypureclient/flasharray/FA_2_26/models/pod_replica_link_performance_replication.py create mode 100644 pypureclient/flasharray/FA_2_26/models/pod_replica_link_performance_replication_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/pod_replica_link_performance_replication_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/pod_replica_link_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/pod_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/pod_space.py create mode 100644 pypureclient/flasharray/FA_2_26/models/policy.py create mode 100644 pypureclient/flasharray/FA_2_26/models/policy_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/policy_member.py create mode 100644 pypureclient/flasharray/FA_2_26/models/policy_member_export.py create mode 100644 pypureclient/flasharray/FA_2_26/models/policy_member_export_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/policy_member_export_post.py create mode 100644 pypureclient/flasharray/FA_2_26/models/policy_member_export_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/policy_member_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/policy_member_post.py create mode 100644 pypureclient/flasharray/FA_2_26/models/policy_member_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/policy_nfs.py create mode 100644 pypureclient/flasharray/FA_2_26/models/policy_nfs_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/policy_nfs_patch.py create mode 100644 pypureclient/flasharray/FA_2_26/models/policy_nfs_post.py create mode 100644 pypureclient/flasharray/FA_2_26/models/policy_nfs_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/policy_patch.py create mode 100644 pypureclient/flasharray/FA_2_26/models/policy_post.py create mode 100644 pypureclient/flasharray/FA_2_26/models/policy_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/policy_rule_nfs_client.py create mode 100644 pypureclient/flasharray/FA_2_26/models/policy_rule_nfs_client_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/policy_rule_nfs_client_post.py create mode 100644 pypureclient/flasharray/FA_2_26/models/policy_rule_nfs_client_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/policy_rule_quota.py create mode 100644 pypureclient/flasharray/FA_2_26/models/policy_rule_quota_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/policy_rule_quota_patch.py create mode 100644 pypureclient/flasharray/FA_2_26/models/policy_rule_quota_post.py create mode 100644 pypureclient/flasharray/FA_2_26/models/policy_rule_quota_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/policy_rule_smb_client.py create mode 100644 pypureclient/flasharray/FA_2_26/models/policy_rule_smb_client_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/policy_rule_smb_client_post.py create mode 100644 pypureclient/flasharray/FA_2_26/models/policy_rule_smb_client_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/policy_rule_snapshot.py create mode 100644 pypureclient/flasharray/FA_2_26/models/policy_rule_snapshot_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/policy_rule_snapshot_post.py create mode 100644 pypureclient/flasharray/FA_2_26/models/policy_rule_snapshot_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/policy_smb.py create mode 100644 pypureclient/flasharray/FA_2_26/models/policy_smb_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/policy_smb_patch.py create mode 100644 pypureclient/flasharray/FA_2_26/models/policy_smb_post.py create mode 100644 pypureclient/flasharray/FA_2_26/models/policy_smb_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/policymemberexportpost_members.py create mode 100644 pypureclient/flasharray/FA_2_26/models/policymemberpost_members.py create mode 100644 pypureclient/flasharray/FA_2_26/models/policyrulenfsclientpost_rules.py create mode 100644 pypureclient/flasharray/FA_2_26/models/policyrulequotapatch_rules.py create mode 100644 pypureclient/flasharray/FA_2_26/models/policyrulequotapost_rules.py create mode 100644 pypureclient/flasharray/FA_2_26/models/policyrulesmbclientpost_rules.py create mode 100644 pypureclient/flasharray/FA_2_26/models/policyrulesnapshotpost_rules.py create mode 100644 pypureclient/flasharray/FA_2_26/models/port.py create mode 100644 pypureclient/flasharray/FA_2_26/models/port_common.py create mode 100644 pypureclient/flasharray/FA_2_26/models/port_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/port_initiator.py create mode 100644 pypureclient/flasharray/FA_2_26/models/port_initiators_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/priority_adjustment.py create mode 100644 pypureclient/flasharray/FA_2_26/models/protection_group.py create mode 100644 pypureclient/flasharray/FA_2_26/models/protection_group_eradication_config.py create mode 100644 pypureclient/flasharray/FA_2_26/models/protection_group_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/protection_group_performance.py create mode 100644 pypureclient/flasharray/FA_2_26/models/protection_group_performance_array.py create mode 100644 pypureclient/flasharray/FA_2_26/models/protection_group_performance_array_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/protection_group_performance_by_array.py create mode 100644 pypureclient/flasharray/FA_2_26/models/protection_group_performance_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/protection_group_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/protection_group_snapshot.py create mode 100644 pypureclient/flasharray/FA_2_26/models/protection_group_snapshot_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/protection_group_snapshot_patch.py create mode 100644 pypureclient/flasharray/FA_2_26/models/protection_group_snapshot_post.py create mode 100644 pypureclient/flasharray/FA_2_26/models/protection_group_snapshot_replica.py create mode 100644 pypureclient/flasharray/FA_2_26/models/protection_group_snapshot_replica_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/protection_group_snapshot_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/protection_group_snapshot_transfer.py create mode 100644 pypureclient/flasharray/FA_2_26/models/protection_group_snapshot_transfer_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/protection_group_snapshot_transfer_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/protection_group_space.py create mode 100644 pypureclient/flasharray/FA_2_26/models/protection_group_target.py create mode 100644 pypureclient/flasharray/FA_2_26/models/protection_group_target_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/protection_group_target_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/protection_groups_volumes.py create mode 100644 pypureclient/flasharray/FA_2_26/models/protection_groups_volumes_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/protection_groups_volumes_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/qos.py create mode 100644 pypureclient/flasharray/FA_2_26/models/reference.py create mode 100644 pypureclient/flasharray/FA_2_26/models/reference_no_id.py create mode 100644 pypureclient/flasharray/FA_2_26/models/reference_no_id_with_type.py create mode 100644 pypureclient/flasharray/FA_2_26/models/reference_with_type.py create mode 100644 pypureclient/flasharray/FA_2_26/models/remote_pod.py create mode 100644 pypureclient/flasharray/FA_2_26/models/remote_pods_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/remote_protection_group.py create mode 100644 pypureclient/flasharray/FA_2_26/models/remote_protection_group_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/remote_protection_group_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/remote_protection_group_snapshot.py create mode 100644 pypureclient/flasharray/FA_2_26/models/remote_protection_group_snapshot_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/remote_protection_group_snapshot_post.py create mode 100644 pypureclient/flasharray/FA_2_26/models/remote_protection_group_snapshot_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/remote_protection_group_snapshot_transfer.py create mode 100644 pypureclient/flasharray/FA_2_26/models/remote_protection_group_snapshot_transfer_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/remote_protection_group_snapshot_transfer_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/remote_volume_snapshot.py create mode 100644 pypureclient/flasharray/FA_2_26/models/remote_volume_snapshot_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/remote_volume_snapshot_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/remote_volume_snapshot_transfer.py create mode 100644 pypureclient/flasharray/FA_2_26/models/remote_volume_snapshot_transfer_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/remote_volume_snapshot_transfer_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/replica_link_lag.py create mode 100644 pypureclient/flasharray/FA_2_26/models/replica_link_performance_replication.py create mode 100644 pypureclient/flasharray/FA_2_26/models/replication_performance_with_total.py create mode 100644 pypureclient/flasharray/FA_2_26/models/replication_schedule.py create mode 100644 pypureclient/flasharray/FA_2_26/models/resource.py create mode 100644 pypureclient/flasharray/FA_2_26/models/resource_directory_space.py create mode 100644 pypureclient/flasharray/FA_2_26/models/resource_directory_space_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/resource_fixed_non_unique_name.py create mode 100644 pypureclient/flasharray/FA_2_26/models/resource_no_id.py create mode 100644 pypureclient/flasharray/FA_2_26/models/resource_performance.py create mode 100644 pypureclient/flasharray/FA_2_26/models/resource_performance_by_array.py create mode 100644 pypureclient/flasharray/FA_2_26/models/resource_performance_by_array_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/resource_performance_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/resource_performance_no_id.py create mode 100644 pypureclient/flasharray/FA_2_26/models/resource_performance_no_id_by_array.py create mode 100644 pypureclient/flasharray/FA_2_26/models/resource_performance_no_id_by_array_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/resource_performance_no_id_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/resource_pod_space.py create mode 100644 pypureclient/flasharray/FA_2_26/models/resource_pod_space_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/resource_space.py create mode 100644 pypureclient/flasharray/FA_2_26/models/resource_space_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/resource_space_no_id.py create mode 100644 pypureclient/flasharray/FA_2_26/models/resource_space_no_id_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/retention_policy.py create mode 100644 pypureclient/flasharray/FA_2_26/models/saml2_sso.py create mode 100644 pypureclient/flasharray/FA_2_26/models/saml2_sso_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/saml2_sso_idp.py create mode 100644 pypureclient/flasharray/FA_2_26/models/saml2_sso_patch.py create mode 100644 pypureclient/flasharray/FA_2_26/models/saml2_sso_post.py create mode 100644 pypureclient/flasharray/FA_2_26/models/saml2_sso_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/saml2_sso_sp.py create mode 100644 pypureclient/flasharray/FA_2_26/models/saml2_sso_sp_credential.py create mode 100644 pypureclient/flasharray/FA_2_26/models/session.py create mode 100644 pypureclient/flasharray/FA_2_26/models/session_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/smis.py create mode 100644 pypureclient/flasharray/FA_2_26/models/smis_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/smis_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/smtp.py create mode 100644 pypureclient/flasharray/FA_2_26/models/smtp_server.py create mode 100644 pypureclient/flasharray/FA_2_26/models/smtp_server_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/smtp_server_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/snapshot.py create mode 100644 pypureclient/flasharray/FA_2_26/models/snapshot_schedule.py create mode 100644 pypureclient/flasharray/FA_2_26/models/snapshot_space.py create mode 100644 pypureclient/flasharray/FA_2_26/models/snmp_agent.py create mode 100644 pypureclient/flasharray/FA_2_26/models/snmp_agent_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/snmp_agent_mib.py create mode 100644 pypureclient/flasharray/FA_2_26/models/snmp_agent_mib_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/snmp_agent_mib_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/snmp_agent_patch.py create mode 100644 pypureclient/flasharray/FA_2_26/models/snmp_agent_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/snmp_manager.py create mode 100644 pypureclient/flasharray/FA_2_26/models/snmp_manager_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/snmp_manager_patch.py create mode 100644 pypureclient/flasharray/FA_2_26/models/snmp_manager_post.py create mode 100644 pypureclient/flasharray/FA_2_26/models/snmp_manager_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/snmp_managers.py create mode 100644 pypureclient/flasharray/FA_2_26/models/snmp_v2c.py create mode 100644 pypureclient/flasharray/FA_2_26/models/snmp_v3.py create mode 100644 pypureclient/flasharray/FA_2_26/models/snmp_v3_patch.py create mode 100644 pypureclient/flasharray/FA_2_26/models/snmp_v3_post.py create mode 100644 pypureclient/flasharray/FA_2_26/models/software.py create mode 100644 pypureclient/flasharray/FA_2_26/models/software_bundle.py create mode 100644 pypureclient/flasharray/FA_2_26/models/software_bundle_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/software_bundle_post.py create mode 100644 pypureclient/flasharray/FA_2_26/models/software_bundle_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/software_check.py create mode 100644 pypureclient/flasharray/FA_2_26/models/software_checks.py create mode 100644 pypureclient/flasharray/FA_2_26/models/software_checks_checks.py create mode 100644 pypureclient/flasharray/FA_2_26/models/software_checks_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/software_checks_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/software_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/software_installation.py create mode 100644 pypureclient/flasharray/FA_2_26/models/software_installation_patch.py create mode 100644 pypureclient/flasharray/FA_2_26/models/software_installation_post.py create mode 100644 pypureclient/flasharray/FA_2_26/models/software_installation_step.py create mode 100644 pypureclient/flasharray/FA_2_26/models/software_installation_steps.py create mode 100644 pypureclient/flasharray/FA_2_26/models/software_installation_steps_checks.py create mode 100644 pypureclient/flasharray/FA_2_26/models/software_installation_steps_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/software_installation_steps_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/software_installations.py create mode 100644 pypureclient/flasharray/FA_2_26/models/software_installations_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/software_installations_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/software_patch.py create mode 100644 pypureclient/flasharray/FA_2_26/models/software_patches.py create mode 100644 pypureclient/flasharray/FA_2_26/models/software_patches_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/software_patches_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/software_post.py create mode 100644 pypureclient/flasharray/FA_2_26/models/software_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/software_upgrade_plan.py create mode 100644 pypureclient/flasharray/FA_2_26/models/software_version.py create mode 100644 pypureclient/flasharray/FA_2_26/models/software_versions.py create mode 100644 pypureclient/flasharray/FA_2_26/models/software_versions_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/software_versions_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/space.py create mode 100644 pypureclient/flasharray/FA_2_26/models/start_end_time.py create mode 100644 pypureclient/flasharray/FA_2_26/models/subnet.py create mode 100644 pypureclient/flasharray/FA_2_26/models/subnet_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/subnet_patch.py create mode 100644 pypureclient/flasharray/FA_2_26/models/subnet_post.py create mode 100644 pypureclient/flasharray/FA_2_26/models/subnet_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/subscription.py create mode 100644 pypureclient/flasharray/FA_2_26/models/subscription_asset.py create mode 100644 pypureclient/flasharray/FA_2_26/models/subscription_asset_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/subscription_asset_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/subscription_asset_subscription.py create mode 100644 pypureclient/flasharray/FA_2_26/models/subscription_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/subscription_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/support.py create mode 100644 pypureclient/flasharray/FA_2_26/models/support_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/support_patch.py create mode 100644 pypureclient/flasharray/FA_2_26/models/support_remote_assist_paths.py create mode 100644 pypureclient/flasharray/FA_2_26/models/support_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/syslog_server.py create mode 100644 pypureclient/flasharray/FA_2_26/models/syslog_server_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/syslog_server_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/syslog_server_settings.py create mode 100644 pypureclient/flasharray/FA_2_26/models/syslog_server_settings_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/syslog_server_settings_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/tag.py create mode 100644 pypureclient/flasharray/FA_2_26/models/tag_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/tag_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/target_protection_group.py create mode 100644 pypureclient/flasharray/FA_2_26/models/target_protection_group_post_patch.py create mode 100644 pypureclient/flasharray/FA_2_26/models/test_result.py create mode 100644 pypureclient/flasharray/FA_2_26/models/test_result_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/test_result_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/test_result_with_resource.py create mode 100644 pypureclient/flasharray/FA_2_26/models/test_result_with_resource_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/test_result_with_resource_patch_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/test_result_with_resource_post_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/test_result_with_resource_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/test_result_with_resource_with_id.py create mode 100644 pypureclient/flasharray/FA_2_26/models/test_result_with_resource_with_id_post_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/throttle.py create mode 100644 pypureclient/flasharray/FA_2_26/models/time_window.py create mode 100644 pypureclient/flasharray/FA_2_26/models/total_item_count_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/transfer.py create mode 100644 pypureclient/flasharray/FA_2_26/models/username.py create mode 100644 pypureclient/flasharray/FA_2_26/models/username_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/vchost.py create mode 100644 pypureclient/flasharray/FA_2_26/models/vchost_certificate.py create mode 100644 pypureclient/flasharray/FA_2_26/models/vchost_certificate_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/vchost_certificate_patch.py create mode 100644 pypureclient/flasharray/FA_2_26/models/vchost_certificate_post.py create mode 100644 pypureclient/flasharray/FA_2_26/models/vchost_certificate_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/vchost_endpoint.py create mode 100644 pypureclient/flasharray/FA_2_26/models/vchost_endpoint_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/vchost_endpoint_patch.py create mode 100644 pypureclient/flasharray/FA_2_26/models/vchost_endpoint_post.py create mode 100644 pypureclient/flasharray/FA_2_26/models/vchost_endpoint_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/vchost_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/vchost_patch.py create mode 100644 pypureclient/flasharray/FA_2_26/models/vchost_post.py create mode 100644 pypureclient/flasharray/FA_2_26/models/vchost_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/virtual_machine.py create mode 100644 pypureclient/flasharray/FA_2_26/models/virtual_machine_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/virtual_machine_post.py create mode 100644 pypureclient/flasharray/FA_2_26/models/virtual_machine_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/volume.py create mode 100644 pypureclient/flasharray/FA_2_26/models/volume_common.py create mode 100644 pypureclient/flasharray/FA_2_26/models/volume_diff.py create mode 100644 pypureclient/flasharray/FA_2_26/models/volume_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/volume_group.py create mode 100644 pypureclient/flasharray/FA_2_26/models/volume_group_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/volume_group_patch.py create mode 100644 pypureclient/flasharray/FA_2_26/models/volume_group_performance.py create mode 100644 pypureclient/flasharray/FA_2_26/models/volume_group_post.py create mode 100644 pypureclient/flasharray/FA_2_26/models/volume_group_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/volume_group_space.py create mode 100644 pypureclient/flasharray/FA_2_26/models/volume_patch.py create mode 100644 pypureclient/flasharray/FA_2_26/models/volume_performance.py create mode 100644 pypureclient/flasharray/FA_2_26/models/volume_performance_by_array.py create mode 100644 pypureclient/flasharray/FA_2_26/models/volume_post.py create mode 100644 pypureclient/flasharray/FA_2_26/models/volume_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/volume_snapshot.py create mode 100644 pypureclient/flasharray/FA_2_26/models/volume_snapshot_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/volume_snapshot_patch.py create mode 100644 pypureclient/flasharray/FA_2_26/models/volume_snapshot_post.py create mode 100644 pypureclient/flasharray/FA_2_26/models/volume_snapshot_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/volume_snapshot_transfer.py create mode 100644 pypureclient/flasharray/FA_2_26/models/volume_snapshot_transfer_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/volume_snapshot_transfer_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/volume_space.py create mode 100644 pypureclient/flasharray/FA_2_26/models/volume_space_common.py create mode 100644 pypureclient/flasharray/FA_2_26/models/volume_space_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/volumes_diff_get_response.py create mode 100644 pypureclient/flasharray/FA_2_26/models/volumes_diff_response.py create mode 100644 pypureclient/flasharray/FA_2_26/rest.py diff --git a/docs/changelog.rst b/docs/changelog.rst index 0ba7917a2..0e118d12f 100644 --- a/docs/changelog.rst +++ b/docs/changelog.rst @@ -6,7 +6,8 @@ A log of changes by version and date. ======= ========== ===== Version Date Notes ======= ========== ===== -1.38.0 05/26/2023 Added FlashArray 2.25 client +1.39.0 09/06/2023 Added FlashArray 2.26 client +1.38.0 07/26/2023 Added FlashArray 2.25 client 1.37.0 06/02/2023 Added FlashBlade 2.10 client 1.36.0 05/26/2023 Added FlashArray 2.24 client 1.35.0 04/24/2023 Added FlashBlade 2.9 client diff --git a/docs/conf.py b/docs/conf.py index 53e208228..be9044152 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -27,9 +27,9 @@ author = u'Pure Storage, Inc.' # The short X.Y version -version = u'1.38' +version = u'1.39' # The full version, including alpha/beta/rc tags -release = u'1.38.0' +release = u'1.39.0' # -- General configuration --------------------------------------------------- diff --git a/docs/fa_reference.rst b/docs/fa_reference.rst index 1d7963625..4490335da 100644 --- a/docs/fa_reference.rst +++ b/docs/fa_reference.rst @@ -137,6 +137,11 @@ FlashArray REST 2.25 Client ~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. autoclass:: pypureclient.flasharray.FA_2_25.client.Client + +FlashArray REST 2.26 Client +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. autoclass:: pypureclient.flasharray.FA_2_26.client.Client :members: @@ -660,6 +665,12 @@ EulaSignature .. autoclass:: pypureclient.flasharray.EulaSignature :members: +FilePost +~~~~~~~~ + +.. autoclass:: pypureclient.flasharray.FilePost + :members: + FileSystem ~~~~~~~~~~ @@ -918,6 +929,12 @@ MemberNoIdGroup .. autoclass:: pypureclient.flasharray.MemberNoIdGroup :members: +MemberNoIdMember +~~~~~~~~~~~~~~~~ + +.. autoclass:: pypureclient.flasharray.MemberNoIdMember + :members: + NetworkInterface ~~~~~~~~~~~~~~~~ @@ -1548,6 +1565,12 @@ ReferenceNoId .. autoclass:: pypureclient.flasharray.ReferenceNoId :members: +ReferenceNoIdWithType +~~~~~~~~~~~~~~~~~~~~~ + +.. autoclass:: pypureclient.flasharray.ReferenceNoIdWithType + :members: + ReferenceWithType ~~~~~~~~~~~~~~~~~ @@ -1968,6 +1991,24 @@ SubnetPost .. autoclass:: pypureclient.flasharray.SubnetPost :members: +Subscription +~~~~~~~~~~~~ + +.. autoclass:: pypureclient.flasharray.Subscription + :members: + +SubscriptionAsset +~~~~~~~~~~~~~~~~~ + +.. autoclass:: pypureclient.flasharray.SubscriptionAsset + :members: + +SubscriptionAssetSubscription +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. autoclass:: pypureclient.flasharray.SubscriptionAssetSubscription + :members: + Support ~~~~~~~ @@ -2028,6 +2069,12 @@ TestResultWithResource .. autoclass:: pypureclient.flasharray.TestResultWithResource :members: +TestResultWithResourceWithId +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. autoclass:: pypureclient.flasharray.TestResultWithResourceWithId + :members: + Throttle ~~~~~~~~ @@ -2052,6 +2099,60 @@ Username .. autoclass:: pypureclient.flasharray.Username :members: +Vchost +~~~~~~ + +.. autoclass:: pypureclient.flasharray.Vchost + :members: + +VchostCertificate +~~~~~~~~~~~~~~~~~ + +.. autoclass:: pypureclient.flasharray.VchostCertificate + :members: + +VchostCertificatePatch +~~~~~~~~~~~~~~~~~~~~~~ + +.. autoclass:: pypureclient.flasharray.VchostCertificatePatch + :members: + +VchostCertificatePost +~~~~~~~~~~~~~~~~~~~~~ + +.. autoclass:: pypureclient.flasharray.VchostCertificatePost + :members: + +VchostEndpoint +~~~~~~~~~~~~~~ + +.. autoclass:: pypureclient.flasharray.VchostEndpoint + :members: + +VchostEndpointPatch +~~~~~~~~~~~~~~~~~~~ + +.. autoclass:: pypureclient.flasharray.VchostEndpointPatch + :members: + +VchostEndpointPost +~~~~~~~~~~~~~~~~~~ + +.. autoclass:: pypureclient.flasharray.VchostEndpointPost + :members: + +VchostPatch +~~~~~~~~~~~ + +.. autoclass:: pypureclient.flasharray.VchostPatch + :members: + +VchostPost +~~~~~~~~~~ + +.. autoclass:: pypureclient.flasharray.VchostPost + :members: + VirtualMachine ~~~~~~~~~~~~~~ diff --git a/docs/requirements.txt b/docs/requirements.txt index 89bf54b40..47cad0548 100644 --- a/docs/requirements.txt +++ b/docs/requirements.txt @@ -1,10 +1,10 @@ -certifi >=14.05.14, <=2020.12.5 +certifi >=2022.9.24, <=2023.7.22 docutils<0.18 -six >=1.10, <=1.15.0 +six >=1.10, <=1.16.0 python_dateutil >=2.5.3, <=2.8.1 -setuptools >=21.0.0, <=51.1.2 -urllib3 ==1.26.5 -paramiko ==2.11.0 -pyjwt >=2.0.0, <=2.4.0 -requests >=2.20.1, <=2.25.1 -typing >=3.7.4.1, <=3.7.4.3 +setuptools >=21.0.0, <=68.1.2 +urllib3 >=1.26.5, <=1.26.12 +paramiko >=2.11.0, <= 2.12.0 +pyjwt >=2.0.0, <=2.8.0 +requests >=2.20.1, <=2.31.0 +typing >=3.7.4.1, <=3.7.4.3; python_version < "3.5" \ No newline at end of file diff --git a/docs/source/pypureclient.flasharray.FA_2_26.api.rst b/docs/source/pypureclient.flasharray.FA_2_26.api.rst new file mode 100644 index 000000000..77a9d213c --- /dev/null +++ b/docs/source/pypureclient.flasharray.FA_2_26.api.rst @@ -0,0 +1,469 @@ +pypureclient.flasharray.FA\_2\_26.api package +============================================= + +Submodules +---------- + +pypureclient.flasharray.FA\_2\_26.api.active\_directory\_api module +------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.api.active_directory_api + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.api.administrators\_api module +---------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.api.administrators_api + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.api.alert\_watchers\_api module +----------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.api.alert_watchers_api + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.api.alerts\_api module +-------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.api.alerts_api + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.api.api\_clients\_api module +-------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.api.api_clients_api + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.api.apps\_api module +------------------------------------------------------ + +.. automodule:: pypureclient.flasharray.FA_2_26.api.apps_api + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.api.array\_connections\_api module +-------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.api.array_connections_api + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.api.arrays\_api module +-------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.api.arrays_api + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.api.audits\_api module +-------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.api.audits_api + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.api.authorization\_api module +--------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.api.authorization_api + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.api.certificates\_api module +-------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.api.certificates_api + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.api.connections\_api module +------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.api.connections_api + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.api.container\_default\_protections\_api module +--------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.api.container_default_protections_api + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.api.controllers\_api module +------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.api.controllers_api + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.api.directories\_api module +------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.api.directories_api + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.api.directory\_exports\_api module +-------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.api.directory_exports_api + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.api.directory\_quotas\_api module +------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.api.directory_quotas_api + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.api.directory\_services\_api module +--------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.api.directory_services_api + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.api.directory\_snapshots\_api module +---------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.api.directory_snapshots_api + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.api.dns\_api module +----------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.api.dns_api + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.api.drives\_api module +-------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.api.drives_api + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.api.file\_systems\_api module +--------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.api.file_systems_api + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.api.files\_api module +------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.api.files_api + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.api.hardware\_api module +---------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.api.hardware_api + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.api.host\_groups\_api module +-------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.api.host_groups_api + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.api.hosts\_api module +------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.api.hosts_api + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.api.kmip\_api module +------------------------------------------------------ + +.. automodule:: pypureclient.flasharray.FA_2_26.api.kmip_api + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.api.maintenance\_windows\_api module +---------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.api.maintenance_windows_api + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.api.network\_interfaces\_api module +--------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.api.network_interfaces_api + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.api.offloads\_api module +---------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.api.offloads_api + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.api.pod\_replica\_links\_api module +--------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.api.pod_replica_links_api + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.api.pods\_api module +------------------------------------------------------ + +.. automodule:: pypureclient.flasharray.FA_2_26.api.pods_api + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.api.policies\_api module +---------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.api.policies_api + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.api.ports\_api module +------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.api.ports_api + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.api.protection\_group\_snapshots\_api module +------------------------------------------------------------------------------ + +.. automodule:: pypureclient.flasharray.FA_2_26.api.protection_group_snapshots_api + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.api.protection\_groups\_api module +-------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.api.protection_groups_api + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.api.remote\_pods\_api module +-------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.api.remote_pods_api + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.api.remote\_protection\_group\_snapshots\_api module +-------------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.api.remote_protection_group_snapshots_api + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.api.remote\_protection\_groups\_api module +---------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.api.remote_protection_groups_api + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.api.remote\_volume\_snapshots\_api module +--------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.api.remote_volume_snapshots_api + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.api.saml2\_sso\_api module +------------------------------------------------------------ + +.. automodule:: pypureclient.flasharray.FA_2_26.api.saml2_sso_api + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.api.sessions\_api module +---------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.api.sessions_api + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.api.smi\_s\_api module +-------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.api.smi_s_api + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.api.smtp\_api module +------------------------------------------------------ + +.. automodule:: pypureclient.flasharray.FA_2_26.api.smtp_api + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.api.snmp\_agents\_api module +-------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.api.snmp_agents_api + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.api.snmp\_managers\_api module +---------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.api.snmp_managers_api + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.api.software\_api module +---------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.api.software_api + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.api.subnets\_api module +--------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.api.subnets_api + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.api.subscription\_assets\_api module +---------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.api.subscription_assets_api + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.api.subscriptions\_api module +--------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.api.subscriptions_api + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.api.support\_api module +--------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.api.support_api + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.api.syslog\_api module +-------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.api.syslog_api + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.api.vchosts\_api module +--------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.api.vchosts_api + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.api.virtual\_machines\_api module +------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.api.virtual_machines_api + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.api.volume\_groups\_api module +---------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.api.volume_groups_api + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.api.volume\_snapshots\_api module +------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.api.volume_snapshots_api + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.api.volumes\_api module +--------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.api.volumes_api + :members: + :undoc-members: + :show-inheritance: + +Module contents +--------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.api + :members: + :undoc-members: + :show-inheritance: diff --git a/docs/source/pypureclient.flasharray.FA_2_26.models.rst b/docs/source/pypureclient.flasharray.FA_2_26.models.rst new file mode 100644 index 000000000..4416435b2 --- /dev/null +++ b/docs/source/pypureclient.flasharray.FA_2_26.models.rst @@ -0,0 +1,4757 @@ +pypureclient.flasharray.FA\_2\_26.models package +================================================ + +Submodules +---------- + +pypureclient.flasharray.FA\_2\_26.models.active\_directory module +----------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.active_directory + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.active\_directory\_get\_response module +-------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.active_directory_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.active\_directory\_patch module +------------------------------------------------------------------------ + +.. automodule:: pypureclient.flasharray.FA_2_26.models.active_directory_patch + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.active\_directory\_post module +----------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.active_directory_post + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.active\_directory\_response module +--------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.active_directory_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.admin module +----------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.admin + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.admin\_api\_token module +----------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.admin_api_token + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.admin\_api\_token\_get\_response module +-------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.admin_api_token_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.admin\_api\_token\_response module +--------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.admin_api_token_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.admin\_cache module +------------------------------------------------------------ + +.. automodule:: pypureclient.flasharray.FA_2_26.models.admin_cache + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.admin\_cache\_get\_response module +--------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.admin_cache_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.admin\_cache\_response module +---------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.admin_cache_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.admin\_get\_response module +-------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.admin_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.admin\_patch module +------------------------------------------------------------ + +.. automodule:: pypureclient.flasharray.FA_2_26.models.admin_patch + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.admin\_post module +----------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.admin_post + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.admin\_response module +--------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.admin_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.admin\_role module +----------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.admin_role + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.admin\_settings module +--------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.admin_settings + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.admin\_settings\_response module +------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.admin_settings_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.aggregate\_replication\_performance module +----------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.aggregate_replication_performance + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.alert module +----------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.alert + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.alert\_event module +------------------------------------------------------------ + +.. automodule:: pypureclient.flasharray.FA_2_26.models.alert_event + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.alert\_event\_get\_response module +--------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.alert_event_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.alert\_event\_response module +---------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.alert_event_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.alert\_get\_response module +-------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.alert_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.alert\_response module +--------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.alert_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.alert\_rules module +------------------------------------------------------------ + +.. automodule:: pypureclient.flasharray.FA_2_26.models.alert_rules + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.alert\_rules\_catalog module +--------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.alert_rules_catalog + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.alert\_rules\_catalog\_get\_response module +------------------------------------------------------------------------------------ + +.. automodule:: pypureclient.flasharray.FA_2_26.models.alert_rules_catalog_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.alert\_rules\_catalog\_response module +------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.alert_rules_catalog_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.alert\_rules\_get\_response module +--------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.alert_rules_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.alert\_rules\_response module +---------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.alert_rules_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.alert\_watcher module +-------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.alert_watcher + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.alert\_watcher\_get\_response module +----------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.alert_watcher_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.alert\_watcher\_patch module +--------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.alert_watcher_patch + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.alert\_watcher\_post module +-------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.alert_watcher_post + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.alert\_watcher\_response module +------------------------------------------------------------------------ + +.. automodule:: pypureclient.flasharray.FA_2_26.models.alert_watcher_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.api\_client module +----------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.api_client + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.api\_client\_get\_response module +-------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.api_client_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.api\_client\_patch module +------------------------------------------------------------------ + +.. automodule:: pypureclient.flasharray.FA_2_26.models.api_client_patch + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.api\_client\_post module +----------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.api_client_post + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.api\_client\_response module +--------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.api_client_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.api\_token module +---------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.api_token + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.api\_version\_response module +---------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.api_version_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.app module +--------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.app + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.app\_get\_response module +------------------------------------------------------------------ + +.. automodule:: pypureclient.flasharray.FA_2_26.models.app_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.app\_node module +--------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.app_node + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.app\_node\_get\_response module +------------------------------------------------------------------------ + +.. automodule:: pypureclient.flasharray.FA_2_26.models.app_node_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.app\_node\_response module +------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.app_node_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.app\_response module +------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.app_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.array module +----------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.array + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.array\_connection module +----------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.array_connection + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.array\_connection\_get\_response module +-------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.array_connection_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.array\_connection\_key module +---------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.array_connection_key + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.array\_connection\_key\_get\_response module +------------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.array_connection_key_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.array\_connection\_path module +----------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.array_connection_path + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.array\_connection\_path\_get\_response module +-------------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.array_connection_path_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.array\_connection\_path\_response module +--------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.array_connection_path_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.array\_connection\_post module +----------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.array_connection_post + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.array\_connection\_response module +--------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.array_connection_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.array\_encryption module +----------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.array_encryption + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.array\_factory\_reset\_token module +---------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.array_factory_reset_token + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.array\_factory\_reset\_token\_get\_response module +------------------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.array_factory_reset_token_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.array\_factory\_reset\_token\_response module +-------------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.array_factory_reset_token_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.array\_get\_response module +-------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.array_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.array\_performance module +------------------------------------------------------------------ + +.. automodule:: pypureclient.flasharray.FA_2_26.models.array_performance + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.array\_performance\_by\_link module +---------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.array_performance_by_link + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.array\_performance\_by\_link\_get\_response module +------------------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.array_performance_by_link_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.array\_performance\_by\_link\_response module +-------------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.array_performance_by_link_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.array\_performance\_get\_response module +--------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.array_performance_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.array\_response module +--------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.array_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.array\_space module +------------------------------------------------------------ + +.. automodule:: pypureclient.flasharray.FA_2_26.models.array_space + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.array\_space\_get\_response module +--------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.array_space_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.arrayencryption\_data\_at\_rest module +------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.arrayencryption_data_at_rest + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.arrays module +------------------------------------------------------ + +.. automodule:: pypureclient.flasharray.FA_2_26.models.arrays + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.audit module +----------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.audit + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.audit\_get\_response module +-------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.audit_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.audit\_response module +--------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.audit_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.built\_in module +--------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.built_in + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.built\_in\_relationship module +----------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.built_in_relationship + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.built\_in\_resource\_no\_id module +--------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.built_in_resource_no_id + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.certificate module +----------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.certificate + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.certificate\_get\_response module +-------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.certificate_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.certificate\_post module +----------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.certificate_post + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.certificate\_response module +--------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.certificate_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.certificate\_signing\_request module +----------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.certificate_signing_request + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.certificate\_signing\_request\_post module +----------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.certificate_signing_request_post + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.certificate\_signing\_request\_response module +--------------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.certificate_signing_request_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.chap module +---------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.chap + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.cloud\_provider\_tag module +-------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.cloud_provider_tag + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.cloud\_provider\_tag\_get\_response module +----------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.cloud_provider_tag_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.cloud\_provider\_tag\_response module +------------------------------------------------------------------------------ + +.. automodule:: pypureclient.flasharray.FA_2_26.models.cloud_provider_tag_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.connection module +---------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.connection + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.connection\_get\_response module +------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.connection_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.connection\_post module +---------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.connection_post + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.connection\_response module +-------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.connection_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.container\_default\_protection module +------------------------------------------------------------------------------ + +.. automodule:: pypureclient.flasharray.FA_2_26.models.container_default_protection + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.container\_default\_protection\_get\_response module +--------------------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.container_default_protection_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.container\_default\_protection\_response module +---------------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.container_default_protection_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.controller module +---------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.controller + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.controller\_get\_response module +------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.controller_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.controllers module +----------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.controllers + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.default\_protection\_reference module +------------------------------------------------------------------------------ + +.. automodule:: pypureclient.flasharray.FA_2_26.models.default_protection_reference + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.destroyed\_patch\_post module +---------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.destroyed_patch_post + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.directory module +--------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.directory + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.directory\_export module +----------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.directory_export + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.directory\_export\_get\_response module +-------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.directory_export_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.directory\_export\_post module +----------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.directory_export_post + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.directory\_export\_response module +--------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.directory_export_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.directory\_get\_response module +------------------------------------------------------------------------ + +.. automodule:: pypureclient.flasharray.FA_2_26.models.directory_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.directory\_lock\_nlm\_reclamation module +--------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.directory_lock_nlm_reclamation + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.directory\_lock\_nlm\_reclamation\_response module +------------------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.directory_lock_nlm_reclamation_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.directory\_patch module +---------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.directory_patch + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.directory\_performance module +---------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.directory_performance + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.directory\_performance\_get\_response module +------------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.directory_performance_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.directory\_policy\_export\_post module +------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.directory_policy_export_post + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.directory\_policy\_post module +----------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.directory_policy_post + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.directory\_post module +--------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.directory_post + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.directory\_quota module +---------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.directory_quota + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.directory\_quotas\_get\_response module +-------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.directory_quotas_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.directory\_quotas\_response module +--------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.directory_quotas_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.directory\_response module +------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.directory_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.directory\_service module +------------------------------------------------------------------ + +.. automodule:: pypureclient.flasharray.FA_2_26.models.directory_service + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.directory\_service\_get\_response module +--------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.directory_service_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.directory\_service\_management module +------------------------------------------------------------------------------ + +.. automodule:: pypureclient.flasharray.FA_2_26.models.directory_service_management + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.directory\_service\_response module +---------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.directory_service_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.directory\_service\_role module +------------------------------------------------------------------------ + +.. automodule:: pypureclient.flasharray.FA_2_26.models.directory_service_role + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.directory\_service\_role\_get\_response module +--------------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.directory_service_role_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.directory\_service\_role\_response module +---------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.directory_service_role_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.directory\_snapshot module +------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.directory_snapshot + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.directory\_snapshot\_get\_response module +---------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.directory_snapshot_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.directory\_snapshot\_patch module +-------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.directory_snapshot_patch + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.directory\_snapshot\_post module +------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.directory_snapshot_post + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.directory\_snapshot\_response module +----------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.directory_snapshot_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.directory\_space module +---------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.directory_space + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.directorypolicyexportpost\_policies module +----------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.directorypolicyexportpost_policies + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.directorypolicypost\_policies module +----------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.directorypolicypost_policies + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.dns module +--------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.dns + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.dns\_get\_response module +------------------------------------------------------------------ + +.. automodule:: pypureclient.flasharray.FA_2_26.models.dns_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.dns\_patch module +---------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.dns_patch + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.dns\_post module +--------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.dns_post + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.dns\_response module +------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.dns_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.drive module +----------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.drive + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.drive\_get\_response module +-------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.drive_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.drive\_response module +--------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.drive_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.eradication\_config module +------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.eradication_config + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.eula module +---------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.eula + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.eula\_get\_response module +------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.eula_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.eula\_response module +-------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.eula_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.eula\_signature module +--------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.eula_signature + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.file\_post module +---------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.file_post + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.file\_system module +------------------------------------------------------------ + +.. automodule:: pypureclient.flasharray.FA_2_26.models.file_system + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.file\_system\_get\_response module +--------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.file_system_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.file\_system\_patch module +------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.file_system_patch + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.file\_system\_response module +---------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.file_system_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.fixed\_name\_resource\_no\_id module +----------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.fixed_name_resource_no_id + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.fixed\_reference module +---------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.fixed_reference + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.fixed\_reference\_no\_id module +------------------------------------------------------------------------ + +.. automodule:: pypureclient.flasharray.FA_2_26.models.fixed_reference_no_id + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.fixed\_reference\_with\_type module +---------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.fixed_reference_with_type + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.hardware module +-------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.hardware + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.hardware\_get\_response module +----------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.hardware_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.hardware\_patch module +--------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.hardware_patch + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.hardware\_response module +------------------------------------------------------------------ + +.. automodule:: pypureclient.flasharray.FA_2_26.models.hardware_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.host module +---------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.host + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.host\_get\_response module +------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.host_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.host\_group module +----------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.host_group + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.host\_group\_get\_response module +-------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.host_group_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.host\_group\_patch module +------------------------------------------------------------------ + +.. automodule:: pypureclient.flasharray.FA_2_26.models.host_group_patch + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.host\_group\_performance module +------------------------------------------------------------------------ + +.. automodule:: pypureclient.flasharray.FA_2_26.models.host_group_performance + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.host\_group\_performance\_by\_array module +----------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.host_group_performance_by_array + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.host\_group\_response module +--------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.host_group_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.host\_group\_space module +------------------------------------------------------------------ + +.. automodule:: pypureclient.flasharray.FA_2_26.models.host_group_space + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.host\_patch module +----------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.host_patch + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.host\_performance module +----------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.host_performance + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.host\_performance\_balance module +-------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.host_performance_balance + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.host\_performance\_balance\_get\_response module +----------------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.host_performance_balance_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.host\_performance\_by\_array module +---------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.host_performance_by_array + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.host\_port\_connectivity module +------------------------------------------------------------------------ + +.. automodule:: pypureclient.flasharray.FA_2_26.models.host_port_connectivity + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.host\_post module +---------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.host_post + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.host\_response module +-------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.host_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.host\_space module +----------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.host_space + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.inline\_response400 module +------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.inline_response400 + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.inline\_response401 module +------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.inline_response401 + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.kmip module +---------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.kmip + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.kmip\_certificate module +----------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.kmip_certificate + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.kmip\_get\_response module +------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.kmip_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.kmip\_object module +------------------------------------------------------------ + +.. automodule:: pypureclient.flasharray.FA_2_26.models.kmip_object + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.kmip\_patch module +----------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.kmip_patch + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.kmip\_post module +---------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.kmip_post + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.kmip\_response module +-------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.kmip_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.kmip\_test\_result module +------------------------------------------------------------------ + +.. automodule:: pypureclient.flasharray.FA_2_26.models.kmip_test_result + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.kmip\_test\_result\_get\_response module +--------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.kmip_test_result_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.limited\_by module +----------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.limited_by + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.local\_group module +------------------------------------------------------------ + +.. automodule:: pypureclient.flasharray.FA_2_26.models.local_group + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.local\_group\_get\_response module +--------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.local_group_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.local\_group\_membership\_post module +------------------------------------------------------------------------------ + +.. automodule:: pypureclient.flasharray.FA_2_26.models.local_group_membership_post + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.local\_group\_post module +------------------------------------------------------------------ + +.. automodule:: pypureclient.flasharray.FA_2_26.models.local_group_post + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.local\_group\_response module +---------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.local_group_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.local\_member module +------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.local_member + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.local\_membership\_get\_response module +-------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.local_membership_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.local\_membership\_response module +--------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.local_membership_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.local\_user module +----------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.local_user + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.local\_user\_get\_response module +-------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.local_user_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.local\_user\_membership\_post module +----------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.local_user_membership_post + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.local\_user\_patch module +------------------------------------------------------------------ + +.. automodule:: pypureclient.flasharray.FA_2_26.models.local_user_patch + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.local\_user\_post module +----------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.local_user_post + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.local\_user\_response module +--------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.local_user_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.localgroupmembershippost\_members module +--------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.localgroupmembershippost_members + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.localusermembershippost\_groups module +------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.localusermembershippost_groups + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.maintenance\_window module +------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.maintenance_window + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.maintenance\_window\_post module +------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.maintenance_window_post + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.maintenance\_windows\_get\_response module +----------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.maintenance_windows_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.maintenance\_windows\_response module +------------------------------------------------------------------------------ + +.. automodule:: pypureclient.flasharray.FA_2_26.models.maintenance_windows_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.member module +------------------------------------------------------ + +.. automodule:: pypureclient.flasharray.FA_2_26.models.member + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.member\_get\_response module +--------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.member_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.member\_no\_id\_all module +------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.member_no_id_all + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.member\_no\_id\_all\_get\_response module +---------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.member_no_id_all_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.member\_no\_id\_all\_response module +----------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.member_no_id_all_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.member\_no\_id\_group module +--------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.member_no_id_group + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.member\_no\_id\_member module +---------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.member_no_id_member + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.member\_no\_id\_member\_get\_response module +------------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.member_no_id_member_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.member\_no\_id\_member\_response module +-------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.member_no_id_member_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.member\_response module +---------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.member_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.network\_interface module +------------------------------------------------------------------ + +.. automodule:: pypureclient.flasharray.FA_2_26.models.network_interface + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.network\_interface\_eth module +----------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.network_interface_eth + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.network\_interface\_fc module +---------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.network_interface_fc + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.network\_interface\_get\_response module +--------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.network_interface_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.network\_interface\_neighbor module +---------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.network_interface_neighbor + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.network\_interface\_neighbor\_capability module +---------------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.network_interface_neighbor_capability + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.network\_interface\_neighbor\_get\_response module +------------------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.network_interface_neighbor_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.network\_interface\_neighbor\_neighbor\_chassis module +----------------------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.network_interface_neighbor_neighbor_chassis + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.network\_interface\_neighbor\_neighbor\_chassis\_id module +--------------------------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.network_interface_neighbor_neighbor_chassis_id + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.network\_interface\_neighbor\_neighbor\_port module +-------------------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.network_interface_neighbor_neighbor_port + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.network\_interface\_neighbor\_neighbor\_port\_id module +------------------------------------------------------------------------------------------------ + +.. automodule:: pypureclient.flasharray.FA_2_26.models.network_interface_neighbor_neighbor_port_id + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.network\_interface\_neighbor\_response module +-------------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.network_interface_neighbor_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.network\_interface\_patch module +------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.network_interface_patch + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.network\_interface\_performance module +------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.network_interface_performance + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.network\_interface\_performance\_eth module +------------------------------------------------------------------------------------ + +.. automodule:: pypureclient.flasharray.FA_2_26.models.network_interface_performance_eth + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.network\_interface\_performance\_fc module +----------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.network_interface_performance_fc + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.network\_interface\_performance\_get\_response module +---------------------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.network_interface_performance_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.network\_interface\_port\_details module +--------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.network_interface_port_details + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.network\_interface\_port\_details\_rx\_los module +------------------------------------------------------------------------------------------ + +.. automodule:: pypureclient.flasharray.FA_2_26.models.network_interface_port_details_rx_los + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.network\_interface\_port\_details\_rx\_power module +-------------------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.network_interface_port_details_rx_power + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.network\_interface\_port\_details\_static module +----------------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.network_interface_port_details_static + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.network\_interface\_port\_details\_static\_rx\_power\_thresholds module +---------------------------------------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.network_interface_port_details_static_rx_power_thresholds + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.network\_interface\_port\_details\_static\_temperature\_thresholds module +------------------------------------------------------------------------------------------------------------------ + +.. automodule:: pypureclient.flasharray.FA_2_26.models.network_interface_port_details_static_temperature_thresholds + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.network\_interface\_port\_details\_static\_tx\_bias\_thresholds module +--------------------------------------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.network_interface_port_details_static_tx_bias_thresholds + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.network\_interface\_port\_details\_static\_tx\_power\_thresholds module +---------------------------------------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.network_interface_port_details_static_tx_power_thresholds + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.network\_interface\_port\_details\_static\_voltage\_thresholds module +-------------------------------------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.network_interface_port_details_static_voltage_thresholds + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.network\_interface\_port\_details\_temperature module +---------------------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.network_interface_port_details_temperature + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.network\_interface\_port\_details\_tx\_bias module +------------------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.network_interface_port_details_tx_bias + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.network\_interface\_port\_details\_tx\_fault module +-------------------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.network_interface_port_details_tx_fault + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.network\_interface\_port\_details\_tx\_power module +-------------------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.network_interface_port_details_tx_power + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.network\_interface\_port\_details\_voltage module +------------------------------------------------------------------------------------------ + +.. automodule:: pypureclient.flasharray.FA_2_26.models.network_interface_port_details_voltage + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.network\_interface\_post module +------------------------------------------------------------------------ + +.. automodule:: pypureclient.flasharray.FA_2_26.models.network_interface_post + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.network\_interface\_response module +---------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.network_interface_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.network\_interfaces\_port\_details module +---------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.network_interfaces_port_details + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.network\_interfaces\_port\_details\_get\_response module +------------------------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.network_interfaces_port_details_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.network\_interfaces\_port\_details\_response module +-------------------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.network_interfaces_port_details_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.networkinterfacepatch\_eth module +-------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.networkinterfacepatch_eth + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.networkinterfacepost\_eth module +------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.networkinterfacepost_eth + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.new\_name module +--------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.new_name + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.oauth\_token\_response module +---------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.oauth_token_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.offload module +------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.offload + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.offload\_azure module +-------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.offload_azure + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.offload\_get\_response module +---------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.offload_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.offload\_google\_cloud module +---------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.offload_google_cloud + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.offload\_nfs module +------------------------------------------------------------ + +.. automodule:: pypureclient.flasharray.FA_2_26.models.offload_nfs + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.offload\_post module +------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.offload_post + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.offload\_response module +----------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.offload_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.offload\_s3 module +----------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.offload_s3 + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.override\_check module +--------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.override_check + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.page\_info module +---------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.page_info + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.performance module +----------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.performance + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.pod module +--------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.pod + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.pod\_array\_status module +------------------------------------------------------------------ + +.. automodule:: pypureclient.flasharray.FA_2_26.models.pod_array_status + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.pod\_eradication\_config module +------------------------------------------------------------------------ + +.. automodule:: pypureclient.flasharray.FA_2_26.models.pod_eradication_config + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.pod\_get\_response module +------------------------------------------------------------------ + +.. automodule:: pypureclient.flasharray.FA_2_26.models.pod_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.pod\_patch module +---------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.pod_patch + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.pod\_performance module +---------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.pod_performance + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.pod\_performance\_by\_array module +--------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.pod_performance_by_array + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.pod\_performance\_by\_array\_get\_response module +------------------------------------------------------------------------------------------ + +.. automodule:: pypureclient.flasharray.FA_2_26.models.pod_performance_by_array_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.pod\_performance\_get\_response module +------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.pod_performance_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.pod\_performance\_replication module +----------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.pod_performance_replication + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.pod\_performance\_replication\_by\_array module +---------------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.pod_performance_replication_by_array + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.pod\_performance\_replication\_by\_array\_get\_response module +------------------------------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.pod_performance_replication_by_array_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.pod\_performance\_replication\_by\_array\_response module +-------------------------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.pod_performance_replication_by_array_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.pod\_performance\_replication\_get\_response module +-------------------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.pod_performance_replication_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.pod\_performance\_replication\_response module +--------------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.pod_performance_replication_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.pod\_post module +--------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.pod_post + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.pod\_replica\_link module +------------------------------------------------------------------ + +.. automodule:: pypureclient.flasharray.FA_2_26.models.pod_replica_link + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.pod\_replica\_link\_get\_response module +--------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.pod_replica_link_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.pod\_replica\_link\_lag module +----------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.pod_replica_link_lag + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.pod\_replica\_link\_lag\_get\_response module +-------------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.pod_replica_link_lag_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.pod\_replica\_link\_lag\_response module +--------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.pod_replica_link_lag_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.pod\_replica\_link\_patch module +------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.pod_replica_link_patch + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.pod\_replica\_link\_performance module +------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.pod_replica_link_performance + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.pod\_replica\_link\_performance\_replication module +-------------------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.pod_replica_link_performance_replication + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.pod\_replica\_link\_performance\_replication\_get\_response module +----------------------------------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.pod_replica_link_performance_replication_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.pod\_replica\_link\_performance\_replication\_response module +------------------------------------------------------------------------------------------------------ + +.. automodule:: pypureclient.flasharray.FA_2_26.models.pod_replica_link_performance_replication_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.pod\_replica\_link\_response module +---------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.pod_replica_link_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.pod\_response module +------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.pod_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.pod\_space module +---------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.pod_space + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.policy module +------------------------------------------------------ + +.. automodule:: pypureclient.flasharray.FA_2_26.models.policy + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.policy\_get\_response module +--------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.policy_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.policy\_member module +-------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.policy_member + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.policy\_member\_export module +---------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.policy_member_export + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.policy\_member\_export\_get\_response module +------------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.policy_member_export_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.policy\_member\_export\_post module +---------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.policy_member_export_post + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.policy\_member\_export\_response module +-------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.policy_member_export_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.policy\_member\_get\_response module +----------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.policy_member_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.policy\_member\_post module +-------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.policy_member_post + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.policy\_member\_response module +------------------------------------------------------------------------ + +.. automodule:: pypureclient.flasharray.FA_2_26.models.policy_member_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.policy\_nfs module +----------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.policy_nfs + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.policy\_nfs\_get\_response module +-------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.policy_nfs_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.policy\_nfs\_patch module +------------------------------------------------------------------ + +.. automodule:: pypureclient.flasharray.FA_2_26.models.policy_nfs_patch + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.policy\_nfs\_post module +----------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.policy_nfs_post + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.policy\_nfs\_response module +--------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.policy_nfs_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.policy\_patch module +------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.policy_patch + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.policy\_post module +------------------------------------------------------------ + +.. automodule:: pypureclient.flasharray.FA_2_26.models.policy_post + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.policy\_response module +---------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.policy_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.policy\_rule\_nfs\_client module +------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.policy_rule_nfs_client + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.policy\_rule\_nfs\_client\_get\_response module +---------------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.policy_rule_nfs_client_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.policy\_rule\_nfs\_client\_post module +------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.policy_rule_nfs_client_post + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.policy\_rule\_nfs\_client\_response module +----------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.policy_rule_nfs_client_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.policy\_rule\_quota module +------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.policy_rule_quota + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.policy\_rule\_quota\_get\_response module +---------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.policy_rule_quota_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.policy\_rule\_quota\_patch module +-------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.policy_rule_quota_patch + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.policy\_rule\_quota\_post module +------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.policy_rule_quota_post + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.policy\_rule\_quota\_response module +----------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.policy_rule_quota_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.policy\_rule\_smb\_client module +------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.policy_rule_smb_client + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.policy\_rule\_smb\_client\_get\_response module +---------------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.policy_rule_smb_client_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.policy\_rule\_smb\_client\_post module +------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.policy_rule_smb_client_post + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.policy\_rule\_smb\_client\_response module +----------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.policy_rule_smb_client_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.policy\_rule\_snapshot module +---------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.policy_rule_snapshot + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.policy\_rule\_snapshot\_get\_response module +------------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.policy_rule_snapshot_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.policy\_rule\_snapshot\_post module +---------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.policy_rule_snapshot_post + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.policy\_rule\_snapshot\_response module +-------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.policy_rule_snapshot_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.policy\_smb module +----------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.policy_smb + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.policy\_smb\_get\_response module +-------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.policy_smb_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.policy\_smb\_patch module +------------------------------------------------------------------ + +.. automodule:: pypureclient.flasharray.FA_2_26.models.policy_smb_patch + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.policy\_smb\_post module +----------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.policy_smb_post + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.policy\_smb\_response module +--------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.policy_smb_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.policymemberexportpost\_members module +------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.policymemberexportpost_members + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.policymemberpost\_members module +------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.policymemberpost_members + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.policyrulenfsclientpost\_rules module +------------------------------------------------------------------------------ + +.. automodule:: pypureclient.flasharray.FA_2_26.models.policyrulenfsclientpost_rules + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.policyrulequotapatch\_rules module +--------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.policyrulequotapatch_rules + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.policyrulequotapost\_rules module +-------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.policyrulequotapost_rules + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.policyrulesmbclientpost\_rules module +------------------------------------------------------------------------------ + +.. automodule:: pypureclient.flasharray.FA_2_26.models.policyrulesmbclientpost_rules + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.policyrulesnapshotpost\_rules module +----------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.policyrulesnapshotpost_rules + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.port module +---------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.port + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.port\_common module +------------------------------------------------------------ + +.. automodule:: pypureclient.flasharray.FA_2_26.models.port_common + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.port\_get\_response module +------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.port_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.port\_initiator module +--------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.port_initiator + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.port\_initiators\_get\_response module +------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.port_initiators_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.priority\_adjustment module +-------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.priority_adjustment + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.protection\_group module +----------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.protection_group + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.protection\_group\_eradication\_config module +-------------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.protection_group_eradication_config + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.protection\_group\_get\_response module +-------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.protection_group_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.protection\_group\_performance module +------------------------------------------------------------------------------ + +.. automodule:: pypureclient.flasharray.FA_2_26.models.protection_group_performance + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.protection\_group\_performance\_array module +------------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.protection_group_performance_array + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.protection\_group\_performance\_array\_response module +----------------------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.protection_group_performance_array_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.protection\_group\_performance\_by\_array module +----------------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.protection_group_performance_by_array + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.protection\_group\_performance\_response module +---------------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.protection_group_performance_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.protection\_group\_response module +--------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.protection_group_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.protection\_group\_snapshot module +--------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.protection_group_snapshot + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.protection\_group\_snapshot\_get\_response module +------------------------------------------------------------------------------------------ + +.. automodule:: pypureclient.flasharray.FA_2_26.models.protection_group_snapshot_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.protection\_group\_snapshot\_patch module +---------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.protection_group_snapshot_patch + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.protection\_group\_snapshot\_post module +--------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.protection_group_snapshot_post + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.protection\_group\_snapshot\_replica module +------------------------------------------------------------------------------------ + +.. automodule:: pypureclient.flasharray.FA_2_26.models.protection_group_snapshot_replica + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.protection\_group\_snapshot\_replica\_response module +---------------------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.protection_group_snapshot_replica_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.protection\_group\_snapshot\_response module +------------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.protection_group_snapshot_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.protection\_group\_snapshot\_transfer module +------------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.protection_group_snapshot_transfer + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.protection\_group\_snapshot\_transfer\_get\_response module +---------------------------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.protection_group_snapshot_transfer_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.protection\_group\_snapshot\_transfer\_response module +----------------------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.protection_group_snapshot_transfer_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.protection\_group\_space module +------------------------------------------------------------------------ + +.. automodule:: pypureclient.flasharray.FA_2_26.models.protection_group_space + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.protection\_group\_target module +------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.protection_group_target + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.protection\_group\_target\_get\_response module +---------------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.protection_group_target_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.protection\_group\_target\_response module +----------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.protection_group_target_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.protection\_groups\_volumes module +--------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.protection_groups_volumes + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.protection\_groups\_volumes\_get\_response module +------------------------------------------------------------------------------------------ + +.. automodule:: pypureclient.flasharray.FA_2_26.models.protection_groups_volumes_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.protection\_groups\_volumes\_response module +------------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.protection_groups_volumes_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.qos module +--------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.qos + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.reference module +--------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.reference + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.reference\_no\_id module +----------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.reference_no_id + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.reference\_no\_id\_with\_type module +----------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.reference_no_id_with_type + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.reference\_with\_type module +--------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.reference_with_type + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.remote\_pod module +----------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.remote_pod + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.remote\_pods\_response module +---------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.remote_pods_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.remote\_protection\_group module +------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.remote_protection_group + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.remote\_protection\_group\_get\_response module +---------------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.remote_protection_group_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.remote\_protection\_group\_response module +----------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.remote_protection_group_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.remote\_protection\_group\_snapshot module +----------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.remote_protection_group_snapshot + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.remote\_protection\_group\_snapshot\_get\_response module +-------------------------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.remote_protection_group_snapshot_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.remote\_protection\_group\_snapshot\_post module +----------------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.remote_protection_group_snapshot_post + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.remote\_protection\_group\_snapshot\_response module +--------------------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.remote_protection_group_snapshot_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.remote\_protection\_group\_snapshot\_transfer module +--------------------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.remote_protection_group_snapshot_transfer + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.remote\_protection\_group\_snapshot\_transfer\_get\_response module +------------------------------------------------------------------------------------------------------------ + +.. automodule:: pypureclient.flasharray.FA_2_26.models.remote_protection_group_snapshot_transfer_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.remote\_protection\_group\_snapshot\_transfer\_response module +------------------------------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.remote_protection_group_snapshot_transfer_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.remote\_volume\_snapshot module +------------------------------------------------------------------------ + +.. automodule:: pypureclient.flasharray.FA_2_26.models.remote_volume_snapshot + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.remote\_volume\_snapshot\_get\_response module +--------------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.remote_volume_snapshot_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.remote\_volume\_snapshot\_response module +---------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.remote_volume_snapshot_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.remote\_volume\_snapshot\_transfer module +---------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.remote_volume_snapshot_transfer + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.remote\_volume\_snapshot\_transfer\_get\_response module +------------------------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.remote_volume_snapshot_transfer_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.remote\_volume\_snapshot\_transfer\_response module +-------------------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.remote_volume_snapshot_transfer_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.replica\_link\_lag module +------------------------------------------------------------------ + +.. automodule:: pypureclient.flasharray.FA_2_26.models.replica_link_lag + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.replica\_link\_performance\_replication module +--------------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.replica_link_performance_replication + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.replication\_performance\_with\_total module +------------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.replication_performance_with_total + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.replication\_schedule module +--------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.replication_schedule + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.resource module +-------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.resource + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.resource\_directory\_space module +-------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.resource_directory_space + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.resource\_directory\_space\_get\_response module +----------------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.resource_directory_space_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.resource\_fixed\_non\_unique\_name module +---------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.resource_fixed_non_unique_name + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.resource\_no\_id module +---------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.resource_no_id + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.resource\_performance module +--------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.resource_performance + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.resource\_performance\_by\_array module +-------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.resource_performance_by_array + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.resource\_performance\_by\_array\_get\_response module +----------------------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.resource_performance_by_array_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.resource\_performance\_get\_response module +------------------------------------------------------------------------------------ + +.. automodule:: pypureclient.flasharray.FA_2_26.models.resource_performance_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.resource\_performance\_no\_id module +----------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.resource_performance_no_id + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.resource\_performance\_no\_id\_by\_array module +---------------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.resource_performance_no_id_by_array + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.resource\_performance\_no\_id\_by\_array\_get\_response module +------------------------------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.resource_performance_no_id_by_array_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.resource\_performance\_no\_id\_get\_response module +-------------------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.resource_performance_no_id_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.resource\_pod\_space module +-------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.resource_pod_space + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.resource\_pod\_space\_get\_response module +----------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.resource_pod_space_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.resource\_space module +--------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.resource_space + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.resource\_space\_get\_response module +------------------------------------------------------------------------------ + +.. automodule:: pypureclient.flasharray.FA_2_26.models.resource_space_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.resource\_space\_no\_id module +----------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.resource_space_no_id + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.resource\_space\_no\_id\_get\_response module +-------------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.resource_space_no_id_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.retention\_policy module +----------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.retention_policy + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.saml2\_sso module +---------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.saml2_sso + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.saml2\_sso\_get\_response module +------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.saml2_sso_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.saml2\_sso\_idp module +--------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.saml2_sso_idp + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.saml2\_sso\_patch module +----------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.saml2_sso_patch + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.saml2\_sso\_post module +---------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.saml2_sso_post + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.saml2\_sso\_response module +-------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.saml2_sso_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.saml2\_sso\_sp module +-------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.saml2_sso_sp + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.saml2\_sso\_sp\_credential module +-------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.saml2_sso_sp_credential + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.session module +------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.session + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.session\_get\_response module +---------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.session_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.smis module +---------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.smis + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.smis\_get\_response module +------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.smis_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.smis\_response module +-------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.smis_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.smtp module +---------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.smtp + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.smtp\_server module +------------------------------------------------------------ + +.. automodule:: pypureclient.flasharray.FA_2_26.models.smtp_server + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.smtp\_server\_get\_response module +--------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.smtp_server_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.smtp\_server\_response module +---------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.smtp_server_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.snapshot module +-------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.snapshot + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.snapshot\_schedule module +------------------------------------------------------------------ + +.. automodule:: pypureclient.flasharray.FA_2_26.models.snapshot_schedule + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.snapshot\_space module +--------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.snapshot_space + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.snmp\_agent module +----------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.snmp_agent + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.snmp\_agent\_get\_response module +-------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.snmp_agent_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.snmp\_agent\_mib module +---------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.snmp_agent_mib + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.snmp\_agent\_mib\_get\_response module +------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.snmp_agent_mib_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.snmp\_agent\_mib\_response module +-------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.snmp_agent_mib_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.snmp\_agent\_patch module +------------------------------------------------------------------ + +.. automodule:: pypureclient.flasharray.FA_2_26.models.snmp_agent_patch + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.snmp\_agent\_response module +--------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.snmp_agent_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.snmp\_manager module +------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.snmp_manager + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.snmp\_manager\_get\_response module +---------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.snmp_manager_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.snmp\_manager\_patch module +-------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.snmp_manager_patch + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.snmp\_manager\_post module +------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.snmp_manager_post + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.snmp\_manager\_response module +----------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.snmp_manager_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.snmp\_managers module +-------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.snmp_managers + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.snmp\_v2c module +--------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.snmp_v2c + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.snmp\_v3 module +-------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.snmp_v3 + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.snmp\_v3\_patch module +--------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.snmp_v3_patch + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.snmp\_v3\_post module +-------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.snmp_v3_post + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.software module +-------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.software + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.software\_bundle module +---------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.software_bundle + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.software\_bundle\_get\_response module +------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.software_bundle_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.software\_bundle\_post module +---------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.software_bundle_post + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.software\_bundle\_response module +-------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.software_bundle_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.software\_check module +--------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.software_check + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.software\_checks module +---------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.software_checks + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.software\_checks\_checks module +------------------------------------------------------------------------ + +.. automodule:: pypureclient.flasharray.FA_2_26.models.software_checks_checks + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.software\_checks\_get\_response module +------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.software_checks_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.software\_checks\_response module +-------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.software_checks_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.software\_get\_response module +----------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.software_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.software\_installation module +---------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.software_installation + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.software\_installation\_patch module +----------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.software_installation_patch + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.software\_installation\_post module +---------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.software_installation_post + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.software\_installation\_step module +---------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.software_installation_step + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.software\_installation\_steps module +----------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.software_installation_steps + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.software\_installation\_steps\_checks module +------------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.software_installation_steps_checks + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.software\_installation\_steps\_get\_response module +-------------------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.software_installation_steps_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.software\_installation\_steps\_response module +--------------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.software_installation_steps_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.software\_installations module +----------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.software_installations + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.software\_installations\_get\_response module +-------------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.software_installations_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.software\_installations\_response module +--------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.software_installations_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.software\_patch module +--------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.software_patch + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.software\_patches module +----------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.software_patches + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.software\_patches\_get\_response module +-------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.software_patches_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.software\_patches\_response module +--------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.software_patches_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.software\_post module +-------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.software_post + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.software\_response module +------------------------------------------------------------------ + +.. automodule:: pypureclient.flasharray.FA_2_26.models.software_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.software\_upgrade\_plan module +----------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.software_upgrade_plan + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.software\_version module +----------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.software_version + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.software\_versions module +------------------------------------------------------------------ + +.. automodule:: pypureclient.flasharray.FA_2_26.models.software_versions + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.software\_versions\_get\_response module +--------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.software_versions_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.software\_versions\_response module +---------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.software_versions_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.space module +----------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.space + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.start\_end\_time module +---------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.start_end_time + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.subnet module +------------------------------------------------------ + +.. automodule:: pypureclient.flasharray.FA_2_26.models.subnet + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.subnet\_get\_response module +--------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.subnet_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.subnet\_patch module +------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.subnet_patch + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.subnet\_post module +------------------------------------------------------------ + +.. automodule:: pypureclient.flasharray.FA_2_26.models.subnet_post + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.subnet\_response module +---------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.subnet_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.subscription module +------------------------------------------------------------ + +.. automodule:: pypureclient.flasharray.FA_2_26.models.subscription + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.subscription\_asset module +------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.subscription_asset + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.subscription\_asset\_get\_response module +---------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.subscription_asset_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.subscription\_asset\_response module +----------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.subscription_asset_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.subscription\_asset\_subscription module +--------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.subscription_asset_subscription + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.subscription\_get\_response module +--------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.subscription_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.subscription\_response module +---------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.subscription_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.support module +------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.support + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.support\_get\_response module +---------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.support_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.support\_patch module +-------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.support_patch + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.support\_remote\_assist\_paths module +------------------------------------------------------------------------------ + +.. automodule:: pypureclient.flasharray.FA_2_26.models.support_remote_assist_paths + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.support\_response module +----------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.support_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.syslog\_server module +-------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.syslog_server + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.syslog\_server\_get\_response module +----------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.syslog_server_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.syslog\_server\_response module +------------------------------------------------------------------------ + +.. automodule:: pypureclient.flasharray.FA_2_26.models.syslog_server_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.syslog\_server\_settings module +------------------------------------------------------------------------ + +.. automodule:: pypureclient.flasharray.FA_2_26.models.syslog_server_settings + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.syslog\_server\_settings\_get\_response module +--------------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.syslog_server_settings_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.syslog\_server\_settings\_response module +---------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.syslog_server_settings_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.tag module +--------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.tag + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.tag\_get\_response module +------------------------------------------------------------------ + +.. automodule:: pypureclient.flasharray.FA_2_26.models.tag_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.tag\_response module +------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.tag_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.target\_protection\_group module +------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.target_protection_group + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.target\_protection\_group\_post\_patch module +-------------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.target_protection_group_post_patch + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.test\_result module +------------------------------------------------------------ + +.. automodule:: pypureclient.flasharray.FA_2_26.models.test_result + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.test\_result\_get\_response module +--------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.test_result_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.test\_result\_response module +---------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.test_result_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.test\_result\_with\_resource module +---------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.test_result_with_resource + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.test\_result\_with\_resource\_get\_response module +------------------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.test_result_with_resource_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.test\_result\_with\_resource\_patch\_response module +--------------------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.test_result_with_resource_patch_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.test\_result\_with\_resource\_post\_response module +-------------------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.test_result_with_resource_post_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.test\_result\_with\_resource\_response module +-------------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.test_result_with_resource_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.test\_result\_with\_resource\_with\_id module +-------------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.test_result_with_resource_with_id + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.test\_result\_with\_resource\_with\_id\_post\_response module +------------------------------------------------------------------------------------------------------ + +.. automodule:: pypureclient.flasharray.FA_2_26.models.test_result_with_resource_with_id_post_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.throttle module +-------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.throttle + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.time\_window module +------------------------------------------------------------ + +.. automodule:: pypureclient.flasharray.FA_2_26.models.time_window + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.total\_item\_count\_response module +---------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.total_item_count_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.transfer module +-------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.transfer + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.username module +-------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.username + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.username\_response module +------------------------------------------------------------------ + +.. automodule:: pypureclient.flasharray.FA_2_26.models.username_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.vchost module +------------------------------------------------------ + +.. automodule:: pypureclient.flasharray.FA_2_26.models.vchost + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.vchost\_certificate module +------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.vchost_certificate + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.vchost\_certificate\_get\_response module +---------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.vchost_certificate_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.vchost\_certificate\_patch module +-------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.vchost_certificate_patch + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.vchost\_certificate\_post module +------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.vchost_certificate_post + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.vchost\_certificate\_response module +----------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.vchost_certificate_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.vchost\_endpoint module +---------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.vchost_endpoint + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.vchost\_endpoint\_get\_response module +------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.vchost_endpoint_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.vchost\_endpoint\_patch module +----------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.vchost_endpoint_patch + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.vchost\_endpoint\_post module +---------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.vchost_endpoint_post + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.vchost\_endpoint\_response module +-------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.vchost_endpoint_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.vchost\_get\_response module +--------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.vchost_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.vchost\_patch module +------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.vchost_patch + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.vchost\_post module +------------------------------------------------------------ + +.. automodule:: pypureclient.flasharray.FA_2_26.models.vchost_post + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.vchost\_response module +---------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.vchost_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.virtual\_machine module +---------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.virtual_machine + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.virtual\_machine\_get\_response module +------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.virtual_machine_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.virtual\_machine\_post module +---------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.virtual_machine_post + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.virtual\_machine\_response module +-------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.virtual_machine_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.volume module +------------------------------------------------------ + +.. automodule:: pypureclient.flasharray.FA_2_26.models.volume + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.volume\_common module +-------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.volume_common + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.volume\_diff module +------------------------------------------------------------ + +.. automodule:: pypureclient.flasharray.FA_2_26.models.volume_diff + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.volume\_get\_response module +--------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.volume_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.volume\_group module +------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.volume_group + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.volume\_group\_get\_response module +---------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.volume_group_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.volume\_group\_patch module +-------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.volume_group_patch + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.volume\_group\_performance module +-------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.volume_group_performance + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.volume\_group\_post module +------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.volume_group_post + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.volume\_group\_response module +----------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.volume_group_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.volume\_group\_space module +-------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.volume_group_space + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.volume\_patch module +------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.volume_patch + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.volume\_performance module +------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.volume_performance + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.volume\_performance\_by\_array module +------------------------------------------------------------------------------ + +.. automodule:: pypureclient.flasharray.FA_2_26.models.volume_performance_by_array + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.volume\_post module +------------------------------------------------------------ + +.. automodule:: pypureclient.flasharray.FA_2_26.models.volume_post + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.volume\_response module +---------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.volume_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.volume\_snapshot module +---------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.volume_snapshot + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.volume\_snapshot\_get\_response module +------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.volume_snapshot_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.volume\_snapshot\_patch module +----------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.volume_snapshot_patch + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.volume\_snapshot\_post module +---------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.volume_snapshot_post + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.volume\_snapshot\_response module +-------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.volume_snapshot_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.volume\_snapshot\_transfer module +-------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.volume_snapshot_transfer + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.volume\_snapshot\_transfer\_get\_response module +----------------------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.volume_snapshot_transfer_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.volume\_snapshot\_transfer\_response module +------------------------------------------------------------------------------------ + +.. automodule:: pypureclient.flasharray.FA_2_26.models.volume_snapshot_transfer_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.volume\_space module +------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.volume_space + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.volume\_space\_common module +--------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.volume_space_common + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.volume\_space\_get\_response module +---------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.volume_space_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.volumes\_diff\_get\_response module +---------------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.volumes_diff_get_response + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.models.volumes\_diff\_response module +----------------------------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models.volumes_diff_response + :members: + :undoc-members: + :show-inheritance: + +Module contents +--------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.models + :members: + :undoc-members: + :show-inheritance: diff --git a/docs/source/pypureclient.flasharray.FA_2_26.rst b/docs/source/pypureclient.flasharray.FA_2_26.rst new file mode 100644 index 000000000..d4b5208ce --- /dev/null +++ b/docs/source/pypureclient.flasharray.FA_2_26.rst @@ -0,0 +1,54 @@ +pypureclient.flasharray.FA\_2\_26 package +========================================= + +Subpackages +----------- + +.. toctree:: + :maxdepth: 4 + + pypureclient.flasharray.FA_2_26.api + pypureclient.flasharray.FA_2_26.models + +Submodules +---------- + +pypureclient.flasharray.FA\_2\_26.api\_client module +---------------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.api_client + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.client module +----------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.client + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.configuration module +------------------------------------------------------ + +.. automodule:: pypureclient.flasharray.FA_2_26.configuration + :members: + :undoc-members: + :show-inheritance: + +pypureclient.flasharray.FA\_2\_26.rest module +--------------------------------------------- + +.. automodule:: pypureclient.flasharray.FA_2_26.rest + :members: + :undoc-members: + :show-inheritance: + +Module contents +--------------- + +.. automodule:: pypureclient.flasharray.FA_2_26 + :members: + :undoc-members: + :show-inheritance: diff --git a/docs/source/pypureclient.flasharray.rst b/docs/source/pypureclient.flasharray.rst index ba4064c69..4654c6045 100644 --- a/docs/source/pypureclient.flasharray.rst +++ b/docs/source/pypureclient.flasharray.rst @@ -24,6 +24,7 @@ Subpackages pypureclient.flasharray.FA_2_23 pypureclient.flasharray.FA_2_24 pypureclient.flasharray.FA_2_25 + pypureclient.flasharray.FA_2_26 pypureclient.flasharray.FA_2_3 pypureclient.flasharray.FA_2_4 pypureclient.flasharray.FA_2_5 diff --git a/pyproject.toml b/pyproject.toml index 2343ecb66..5374334a0 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "py-pure-client" -version = "1.38.0" +version = "1.39.0" description = "Pure Storage Python clients for FlashArray, FlashBlade, and Pure1 APIs" authors = [ { name = "Pure Storage", email = "openconnect@purestorage.com" } @@ -14,14 +14,14 @@ classifiers = [ "Operating System :: OS Independent" ] dependencies = [ - 'certifi >=2022.9.24, <=2022.12.7', + 'certifi >=2022.9.24, <=2023.7.22', 'six >=1.10, <=1.16.0', 'python_dateutil >=2.5.3, <=2.8.1', - 'setuptools >=21.0.0, <=51.1.2', + 'setuptools >=21.0.0, <=68.1.2', 'urllib3 >=1.26.5, <=1.26.12', 'paramiko >=2.11.0, <= 2.12.0', - 'pyjwt >=2.0.0, <=2.4.0', - 'requests >=2.20.1, <=2.28.1', + 'pyjwt >=2.0.0, <=2.8.0', + 'requests >=2.20.1, <=2.31.0', 'typing >=3.7.4.1, <=3.7.4.3; python_version < "3.5"', ] diff --git a/pypureclient/client_settings.py b/pypureclient/client_settings.py index 9eb254a7e..90acb4755 100644 --- a/pypureclient/client_settings.py +++ b/pypureclient/client_settings.py @@ -1,4 +1,4 @@ -USER_AGENT_TEMPLATE = 'pypureclient/1.38.0/{prod}/{rest_version}/{sys}/{rel}' +USER_AGENT_TEMPLATE = 'pypureclient/1.39.0/{prod}/{rest_version}/{sys}/{rel}' def resolve_ssl_validation(verify_ssl): """ diff --git a/pypureclient/flasharray/FA_2_0/models/host_group_performance.py b/pypureclient/flasharray/FA_2_0/models/host_group_performance.py index d9f18fca1..23c730023 100644 --- a/pypureclient/flasharray/FA_2_0/models/host_group_performance.py +++ b/pypureclient/flasharray/FA_2_0/models/host_group_performance.py @@ -129,30 +129,30 @@ def __init__( Keyword args: id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. name (str): A user-specified name. The name must be locally unique and can be changed. - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. """ diff --git a/pypureclient/flasharray/FA_2_0/models/host_group_performance_by_array.py b/pypureclient/flasharray/FA_2_0/models/host_group_performance_by_array.py index 23f3d8355..c4b811321 100644 --- a/pypureclient/flasharray/FA_2_0/models/host_group_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_0/models/host_group_performance_by_array.py @@ -132,30 +132,30 @@ def __init__( Keyword args: id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. name (str): A user-specified name. The name must be locally unique and can be changed. - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. array (Resource): The array on which the performance metrics were recorded. diff --git a/pypureclient/flasharray/FA_2_0/models/host_performance.py b/pypureclient/flasharray/FA_2_0/models/host_performance.py index 2030d89ed..2c974ba04 100644 --- a/pypureclient/flasharray/FA_2_0/models/host_performance.py +++ b/pypureclient/flasharray/FA_2_0/models/host_performance.py @@ -129,30 +129,30 @@ def __init__( Keyword args: id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. name (str): A user-specified name. The name must be locally unique and can be changed. - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. """ diff --git a/pypureclient/flasharray/FA_2_0/models/host_performance_by_array.py b/pypureclient/flasharray/FA_2_0/models/host_performance_by_array.py index a4a784ff5..e22fccb6c 100644 --- a/pypureclient/flasharray/FA_2_0/models/host_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_0/models/host_performance_by_array.py @@ -132,30 +132,30 @@ def __init__( Keyword args: id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. name (str): A user-specified name. The name must be locally unique and can be changed. - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. array (Resource): The array on which the performance metrics were recorded. diff --git a/pypureclient/flasharray/FA_2_0/models/performance.py b/pypureclient/flasharray/FA_2_0/models/performance.py index 7ef29255a..019049168 100644 --- a/pypureclient/flasharray/FA_2_0/models/performance.py +++ b/pypureclient/flasharray/FA_2_0/models/performance.py @@ -121,30 +121,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. """ diff --git a/pypureclient/flasharray/FA_2_0/models/resource_performance.py b/pypureclient/flasharray/FA_2_0/models/resource_performance.py index 0a1299196..cb7db94cc 100644 --- a/pypureclient/flasharray/FA_2_0/models/resource_performance.py +++ b/pypureclient/flasharray/FA_2_0/models/resource_performance.py @@ -129,30 +129,30 @@ def __init__( Keyword args: id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. name (str): A user-specified name. The name must be locally unique and can be changed. - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. """ diff --git a/pypureclient/flasharray/FA_2_0/models/resource_performance_by_array.py b/pypureclient/flasharray/FA_2_0/models/resource_performance_by_array.py index 6a07258dc..568af0e38 100644 --- a/pypureclient/flasharray/FA_2_0/models/resource_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_0/models/resource_performance_by_array.py @@ -132,30 +132,30 @@ def __init__( Keyword args: id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. name (str): A user-specified name. The name must be locally unique and can be changed. - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. array (Resource): The array on which the performance metrics were recorded. diff --git a/pypureclient/flasharray/FA_2_0/models/resource_performance_no_id.py b/pypureclient/flasharray/FA_2_0/models/resource_performance_no_id.py index 1720ab785..76413a481 100644 --- a/pypureclient/flasharray/FA_2_0/models/resource_performance_no_id.py +++ b/pypureclient/flasharray/FA_2_0/models/resource_performance_no_id.py @@ -125,30 +125,30 @@ def __init__( """ Keyword args: name (str): A user-specified name. The name must be locally unique and can be changed. - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. """ diff --git a/pypureclient/flasharray/FA_2_0/models/resource_performance_no_id_by_array.py b/pypureclient/flasharray/FA_2_0/models/resource_performance_no_id_by_array.py index 8f621c588..ef99dbc39 100644 --- a/pypureclient/flasharray/FA_2_0/models/resource_performance_no_id_by_array.py +++ b/pypureclient/flasharray/FA_2_0/models/resource_performance_no_id_by_array.py @@ -128,30 +128,30 @@ def __init__( """ Keyword args: name (str): A user-specified name. The name must be locally unique and can be changed. - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. array (Resource): The array on which the performance metrics were recorded. diff --git a/pypureclient/flasharray/FA_2_0/models/volume_performance.py b/pypureclient/flasharray/FA_2_0/models/volume_performance.py index 1af5f51b0..85806eb30 100644 --- a/pypureclient/flasharray/FA_2_0/models/volume_performance.py +++ b/pypureclient/flasharray/FA_2_0/models/volume_performance.py @@ -129,30 +129,30 @@ def __init__( Keyword args: id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. name (str): A user-specified name. The name must be locally unique and can be changed. - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. """ diff --git a/pypureclient/flasharray/FA_2_0/models/volume_performance_by_array.py b/pypureclient/flasharray/FA_2_0/models/volume_performance_by_array.py index 8c193db6d..e6964abdd 100644 --- a/pypureclient/flasharray/FA_2_0/models/volume_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_0/models/volume_performance_by_array.py @@ -132,30 +132,30 @@ def __init__( Keyword args: id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. name (str): A user-specified name. The name must be locally unique and can be changed. - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. array (Resource): The array on which the performance metrics were recorded. diff --git a/pypureclient/flasharray/FA_2_1/models/host_group_performance.py b/pypureclient/flasharray/FA_2_1/models/host_group_performance.py index 126fcf7c8..4f2663c05 100644 --- a/pypureclient/flasharray/FA_2_1/models/host_group_performance.py +++ b/pypureclient/flasharray/FA_2_1/models/host_group_performance.py @@ -129,30 +129,30 @@ def __init__( Keyword args: id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. name (str): A user-specified name. The name must be locally unique and can be changed. - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. """ diff --git a/pypureclient/flasharray/FA_2_1/models/host_group_performance_by_array.py b/pypureclient/flasharray/FA_2_1/models/host_group_performance_by_array.py index 269417d02..d3a991351 100644 --- a/pypureclient/flasharray/FA_2_1/models/host_group_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_1/models/host_group_performance_by_array.py @@ -132,30 +132,30 @@ def __init__( Keyword args: id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. name (str): A user-specified name. The name must be locally unique and can be changed. - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. array (Resource): The array on which the performance metrics were recorded. diff --git a/pypureclient/flasharray/FA_2_1/models/host_performance.py b/pypureclient/flasharray/FA_2_1/models/host_performance.py index a3ad22f07..e6d793f77 100644 --- a/pypureclient/flasharray/FA_2_1/models/host_performance.py +++ b/pypureclient/flasharray/FA_2_1/models/host_performance.py @@ -129,30 +129,30 @@ def __init__( Keyword args: id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. name (str): A user-specified name. The name must be locally unique and can be changed. - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. """ diff --git a/pypureclient/flasharray/FA_2_1/models/host_performance_by_array.py b/pypureclient/flasharray/FA_2_1/models/host_performance_by_array.py index 31efc903b..3940d7f27 100644 --- a/pypureclient/flasharray/FA_2_1/models/host_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_1/models/host_performance_by_array.py @@ -132,30 +132,30 @@ def __init__( Keyword args: id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. name (str): A user-specified name. The name must be locally unique and can be changed. - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. array (Resource): The array on which the performance metrics were recorded. diff --git a/pypureclient/flasharray/FA_2_1/models/performance.py b/pypureclient/flasharray/FA_2_1/models/performance.py index 1d35d7700..201893164 100644 --- a/pypureclient/flasharray/FA_2_1/models/performance.py +++ b/pypureclient/flasharray/FA_2_1/models/performance.py @@ -121,30 +121,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. """ diff --git a/pypureclient/flasharray/FA_2_1/models/pod_array_status.py b/pypureclient/flasharray/FA_2_1/models/pod_array_status.py index cc8baf282..588e094f2 100644 --- a/pypureclient/flasharray/FA_2_1/models/pod_array_status.py +++ b/pypureclient/flasharray/FA_2_1/models/pod_array_status.py @@ -70,7 +70,7 @@ def __init__( mediator_status (str): The status of the mediator, which determines whether it is available to mediate a high availability event. Valid values are `flummoxed`, `online`, `unknown`, and `unreachable`. Only mediators in the `online` status can mediate high availability events. If set to `flummoxed`, the array can reach a mediator, but it is talking to the wrong one. Verify that the DNS in the environment is properly configured. This status might also appear if the pod has been offline on one array for an extended period of time and the peer array is unreachable. If set to `online`, the array is successfully communicating with the mediator, and the mediator is available to mediate a high availability event. If set to `unreachable`, the array cannot reach the mediator, either due to network issues or because the mediator is down. When a mediator is unreachable, synchronous replication continues to function provided all arrays are healthy and communicating, but a high availability event without mediator access can result in an outage. pre_elected (bool): If set to `true`, the array has been pre-elected to remain online in the rare event that the mediator is inaccessible on both arrays within the stretched pod, and then later, the arrays within the stretched pod become disconnected from each other. If set to `false`, either the array has been pre-elected to remain offline while its peer array remains online, or pre-election is not in effect. One and only one array within each pod is pre-elected at a given point in time, so while a pre-elected array is keeping the pod online, the pod on its non-elected peer array remains offline during the communication failure. Users cannot pre-elect arrays. progress (float): The percentage progress of the pod resyncing process for this array. The percentage is displayed as a decimal value, starting at 0.00 and ending at 1.00. - status (str): The status of the array within the stretched pod. Valid values are `offline`, `online`, `resyncing`, `suspended`, and `unknown`. If set to `offline`, the array is experiencing problems and may not have the latest pod data. The array cannot handle I/O to the pod and cannot take over during a high availability event. If set to `online`, the array is online and has the latest pod data. The array can handle I/O to the pod and take over during a high availability event. If set to `suspended`, the array is experiencing a short connection glitch of the pod. This is a temporary status and would transition to either `online` or `offline` soon. If set to `resyncing`, the array is actively getting the latest pod data so that it becomes fully synchronized with its peer array. During the resyncing process, the array cannot handle I/O to the pod. Once the arrays are fully synchronized, the array changes to `online` status. If set to `unknown`, the status of the peer array is unknown because this array is offline and cannot determine the state of the pod on the peer array. Only the peer array can ever be in unknown status; this unknown status is unique to the local array and will differ when viewed from its peer array. + status (str): The status of the array within the stretched pod. Valid values are `offline`, `online`, `resyncing`, `suspended`, and `unknown`. If set to `offline`, the array is experiencing problems and may not have the latest pod data. The array cannot handle I/O to the pod and cannot take over during a high availability event. If set to `online`, the array is online and has the latest pod data. The array can handle I/O to the pod and take over during a high availability event. If set to `suspended`, the array is experiencing a short connection glitch of the pod. This is a temporary status and would transition to either `online` or `offline` soon. `suspended` is a new status that is exposed, starting from version 6.6.0. If set to `resyncing`, the array is actively getting the latest pod data so that it becomes fully synchronized with its peer array. During the resyncing process, the array cannot handle I/O to the pod. Once the arrays are fully synchronized, the array changes to `online` status. If set to `unknown`, the status of the peer array is unknown because this array is offline and cannot determine the state of the pod on the peer array. Only the peer array can ever be in unknown status; this unknown status is unique to the local array and will differ when viewed from its peer array. """ if id is not None: self.id = id diff --git a/pypureclient/flasharray/FA_2_1/models/pod_performance.py b/pypureclient/flasharray/FA_2_1/models/pod_performance.py index 206d5685e..1d92fa276 100644 --- a/pypureclient/flasharray/FA_2_1/models/pod_performance.py +++ b/pypureclient/flasharray/FA_2_1/models/pod_performance.py @@ -129,30 +129,30 @@ def __init__( Keyword args: id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. name (str): A user-specified name. The name must be locally unique and can be changed. - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. """ diff --git a/pypureclient/flasharray/FA_2_1/models/pod_performance_by_array.py b/pypureclient/flasharray/FA_2_1/models/pod_performance_by_array.py index cadba59cf..9c0f3a3dc 100644 --- a/pypureclient/flasharray/FA_2_1/models/pod_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_1/models/pod_performance_by_array.py @@ -132,30 +132,30 @@ def __init__( Keyword args: id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. name (str): A user-specified name. The name must be locally unique and can be changed. - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. array (Resource): The array on which the performance metrics were recorded. diff --git a/pypureclient/flasharray/FA_2_1/models/resource_performance.py b/pypureclient/flasharray/FA_2_1/models/resource_performance.py index bc3d28b92..175a0eeda 100644 --- a/pypureclient/flasharray/FA_2_1/models/resource_performance.py +++ b/pypureclient/flasharray/FA_2_1/models/resource_performance.py @@ -129,30 +129,30 @@ def __init__( Keyword args: id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. name (str): A user-specified name. The name must be locally unique and can be changed. - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. """ diff --git a/pypureclient/flasharray/FA_2_1/models/resource_performance_by_array.py b/pypureclient/flasharray/FA_2_1/models/resource_performance_by_array.py index 09bce7574..cb9b72a06 100644 --- a/pypureclient/flasharray/FA_2_1/models/resource_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_1/models/resource_performance_by_array.py @@ -132,30 +132,30 @@ def __init__( Keyword args: id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. name (str): A user-specified name. The name must be locally unique and can be changed. - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. array (Resource): The array on which the performance metrics were recorded. diff --git a/pypureclient/flasharray/FA_2_1/models/resource_performance_no_id.py b/pypureclient/flasharray/FA_2_1/models/resource_performance_no_id.py index a9eb6e9a0..e5b74d3c0 100644 --- a/pypureclient/flasharray/FA_2_1/models/resource_performance_no_id.py +++ b/pypureclient/flasharray/FA_2_1/models/resource_performance_no_id.py @@ -125,30 +125,30 @@ def __init__( """ Keyword args: name (str): A user-specified name. The name must be locally unique and can be changed. - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. """ diff --git a/pypureclient/flasharray/FA_2_1/models/resource_performance_no_id_by_array.py b/pypureclient/flasharray/FA_2_1/models/resource_performance_no_id_by_array.py index 3602870bc..e770782eb 100644 --- a/pypureclient/flasharray/FA_2_1/models/resource_performance_no_id_by_array.py +++ b/pypureclient/flasharray/FA_2_1/models/resource_performance_no_id_by_array.py @@ -128,30 +128,30 @@ def __init__( """ Keyword args: name (str): A user-specified name. The name must be locally unique and can be changed. - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. array (Resource): The array on which the performance metrics were recorded. diff --git a/pypureclient/flasharray/FA_2_1/models/volume_group_performance.py b/pypureclient/flasharray/FA_2_1/models/volume_group_performance.py index 5b9cebabc..77eef8725 100644 --- a/pypureclient/flasharray/FA_2_1/models/volume_group_performance.py +++ b/pypureclient/flasharray/FA_2_1/models/volume_group_performance.py @@ -129,30 +129,30 @@ def __init__( Keyword args: id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. name (str): A user-specified name. The name must be locally unique and can be changed. - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. """ diff --git a/pypureclient/flasharray/FA_2_1/models/volume_performance.py b/pypureclient/flasharray/FA_2_1/models/volume_performance.py index 5b30a5cbc..33f91aca5 100644 --- a/pypureclient/flasharray/FA_2_1/models/volume_performance.py +++ b/pypureclient/flasharray/FA_2_1/models/volume_performance.py @@ -129,30 +129,30 @@ def __init__( Keyword args: id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. name (str): A user-specified name. The name must be locally unique and can be changed. - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. """ diff --git a/pypureclient/flasharray/FA_2_1/models/volume_performance_by_array.py b/pypureclient/flasharray/FA_2_1/models/volume_performance_by_array.py index 9ffaacf9c..b8447e6fb 100644 --- a/pypureclient/flasharray/FA_2_1/models/volume_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_1/models/volume_performance_by_array.py @@ -132,30 +132,30 @@ def __init__( Keyword args: id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. name (str): A user-specified name. The name must be locally unique and can be changed. - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. array (Resource): The array on which the performance metrics were recorded. diff --git a/pypureclient/flasharray/FA_2_10/models/array_performance.py b/pypureclient/flasharray/FA_2_10/models/array_performance.py index feb9c0f34..ab4b617c6 100644 --- a/pypureclient/flasharray/FA_2_10/models/array_performance.py +++ b/pypureclient/flasharray/FA_2_10/models/array_performance.py @@ -142,38 +142,38 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. name (str): A locally unique, system-generated name. The name cannot be modified. queue_depth (int): Deprecated. The number displayed here may not be accurate and in later versions of the product this field will always display `null`. Instead, use `queue_usec_per_mirrored_write_op`, `queue_usec_per_read_op`, and `queue_usec_per_write_op` fields to measure IO queuing. - local_queue_usec_per_op (int): Average local queue time for both read and write operations, measured in microseconds. - usec_per_other_op (int): The average time it takes the array to process an I/O other request, measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + local_queue_usec_per_op (int): Deprecated. The number displayed here may not be accurate and in later versions of the product this field will always display `null`. Instead, use `queue_usec_per_mirrored_write_op`, `queue_usec_per_read_op`, and `queue_usec_per_write_op` fields to measure IO queuing. + usec_per_other_op (int): The average time it takes the array to process an I/O other request, measured in microseconds. others_per_sec (int): The number of other requests processed per second. """ if bytes_per_mirrored_write is not None: diff --git a/pypureclient/flasharray/FA_2_10/models/directory_performance.py b/pypureclient/flasharray/FA_2_10/models/directory_performance.py index 17f597b55..59e61a184 100644 --- a/pypureclient/flasharray/FA_2_10/models/directory_performance.py +++ b/pypureclient/flasharray/FA_2_10/models/directory_performance.py @@ -94,9 +94,9 @@ def __init__( read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_other_op (int): The average time it takes the array to process an I/O other request, measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + usec_per_other_op (int): The average time it takes the array to process an I/O other request, measured in microseconds. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. """ diff --git a/pypureclient/flasharray/FA_2_10/models/host_group_performance.py b/pypureclient/flasharray/FA_2_10/models/host_group_performance.py index 2e5f9cdc7..943e93603 100644 --- a/pypureclient/flasharray/FA_2_10/models/host_group_performance.py +++ b/pypureclient/flasharray/FA_2_10/models/host_group_performance.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_10/models/host_group_performance_by_array.py b/pypureclient/flasharray/FA_2_10/models/host_group_performance_by_array.py index d37b000b2..bf6967832 100644 --- a/pypureclient/flasharray/FA_2_10/models/host_group_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_10/models/host_group_performance_by_array.py @@ -133,30 +133,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_10/models/host_performance.py b/pypureclient/flasharray/FA_2_10/models/host_performance.py index b36379931..0d5065d72 100644 --- a/pypureclient/flasharray/FA_2_10/models/host_performance.py +++ b/pypureclient/flasharray/FA_2_10/models/host_performance.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_10/models/host_performance_by_array.py b/pypureclient/flasharray/FA_2_10/models/host_performance_by_array.py index 7a31efffb..562a5bf0d 100644 --- a/pypureclient/flasharray/FA_2_10/models/host_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_10/models/host_performance_by_array.py @@ -133,30 +133,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_10/models/performance.py b/pypureclient/flasharray/FA_2_10/models/performance.py index ad073a4a1..c876612dc 100644 --- a/pypureclient/flasharray/FA_2_10/models/performance.py +++ b/pypureclient/flasharray/FA_2_10/models/performance.py @@ -124,30 +124,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_10/models/pod_array_status.py b/pypureclient/flasharray/FA_2_10/models/pod_array_status.py index 5eb8e682e..06146669f 100644 --- a/pypureclient/flasharray/FA_2_10/models/pod_array_status.py +++ b/pypureclient/flasharray/FA_2_10/models/pod_array_status.py @@ -70,7 +70,7 @@ def __init__( mediator_status (str): The status of the mediator, which determines whether it is available to mediate a high availability event. Valid values are `flummoxed`, `online`, `unknown`, and `unreachable`. Only mediators in the `online` status can mediate high availability events. If set to `flummoxed`, the array can reach a mediator, but it is talking to the wrong one. Verify that the DNS in the environment is properly configured. This status might also appear if the pod has been offline on one array for an extended period of time and the peer array is unreachable. If set to `online`, the array is successfully communicating with the mediator, and the mediator is available to mediate a high availability event. If set to `unreachable`, the array cannot reach the mediator, either due to network issues or because the mediator is down. When a mediator is unreachable, synchronous replication continues to function provided all arrays are healthy and communicating, but a high availability event without mediator access can result in an outage. pre_elected (bool): If set to `true`, the array has been pre-elected to remain online in the rare event that the mediator is inaccessible on both arrays within the stretched pod, and then later, the arrays within the stretched pod become disconnected from each other. If set to `false`, either the array has been pre-elected to remain offline while its peer array remains online, or pre-election is not in effect. One and only one array within each pod is pre-elected at a given point in time, so while a pre-elected array is keeping the pod online, the pod on its non-elected peer array remains offline during the communication failure. Users cannot pre-elect arrays. progress (float): The percentage progress of the pod resyncing process for this array. The percentage is displayed as a decimal value, starting at 0.00 and ending at 1.00. - status (str): The status of the array within the stretched pod. Valid values are `offline`, `online`, `resyncing`, `suspended`, and `unknown`. If set to `offline`, the array is experiencing problems and may not have the latest pod data. The array cannot handle I/O to the pod and cannot take over during a high availability event. If set to `online`, the array is online and has the latest pod data. The array can handle I/O to the pod and take over during a high availability event. If set to `suspended`, the array is experiencing a short connection glitch of the pod. This is a temporary status and would transition to either `online` or `offline` soon. If set to `resyncing`, the array is actively getting the latest pod data so that it becomes fully synchronized with its peer array. During the resyncing process, the array cannot handle I/O to the pod. Once the arrays are fully synchronized, the array changes to `online` status. If set to `unknown`, the status of the peer array is unknown because this array is offline and cannot determine the state of the pod on the peer array. Only the peer array can ever be in unknown status; this unknown status is unique to the local array and will differ when viewed from its peer array. + status (str): The status of the array within the stretched pod. Valid values are `offline`, `online`, `resyncing`, `suspended`, and `unknown`. If set to `offline`, the array is experiencing problems and may not have the latest pod data. The array cannot handle I/O to the pod and cannot take over during a high availability event. If set to `online`, the array is online and has the latest pod data. The array can handle I/O to the pod and take over during a high availability event. If set to `suspended`, the array is experiencing a short connection glitch of the pod. This is a temporary status and would transition to either `online` or `offline` soon. `suspended` is a new status that is exposed, starting from version 6.6.0. If set to `resyncing`, the array is actively getting the latest pod data so that it becomes fully synchronized with its peer array. During the resyncing process, the array cannot handle I/O to the pod. Once the arrays are fully synchronized, the array changes to `online` status. If set to `unknown`, the status of the peer array is unknown because this array is offline and cannot determine the state of the pod on the peer array. Only the peer array can ever be in unknown status; this unknown status is unique to the local array and will differ when viewed from its peer array. """ if id is not None: self.id = id diff --git a/pypureclient/flasharray/FA_2_10/models/pod_performance.py b/pypureclient/flasharray/FA_2_10/models/pod_performance.py index 6be1ea1f7..5d2ca40cc 100644 --- a/pypureclient/flasharray/FA_2_10/models/pod_performance.py +++ b/pypureclient/flasharray/FA_2_10/models/pod_performance.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_10/models/pod_performance_by_array.py b/pypureclient/flasharray/FA_2_10/models/pod_performance_by_array.py index cd119c78b..01e92f307 100644 --- a/pypureclient/flasharray/FA_2_10/models/pod_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_10/models/pod_performance_by_array.py @@ -133,30 +133,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_10/models/resource_performance.py b/pypureclient/flasharray/FA_2_10/models/resource_performance.py index 2faaf0535..8eef74c29 100644 --- a/pypureclient/flasharray/FA_2_10/models/resource_performance.py +++ b/pypureclient/flasharray/FA_2_10/models/resource_performance.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_10/models/resource_performance_by_array.py b/pypureclient/flasharray/FA_2_10/models/resource_performance_by_array.py index eaace41e9..e38cf6567 100644 --- a/pypureclient/flasharray/FA_2_10/models/resource_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_10/models/resource_performance_by_array.py @@ -133,30 +133,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_10/models/resource_performance_no_id.py b/pypureclient/flasharray/FA_2_10/models/resource_performance_no_id.py index d2363da8b..2f87aca9e 100644 --- a/pypureclient/flasharray/FA_2_10/models/resource_performance_no_id.py +++ b/pypureclient/flasharray/FA_2_10/models/resource_performance_no_id.py @@ -127,30 +127,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_10/models/resource_performance_no_id_by_array.py b/pypureclient/flasharray/FA_2_10/models/resource_performance_no_id_by_array.py index db9a64501..0440c3ba5 100644 --- a/pypureclient/flasharray/FA_2_10/models/resource_performance_no_id_by_array.py +++ b/pypureclient/flasharray/FA_2_10/models/resource_performance_no_id_by_array.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_10/models/volume_group_performance.py b/pypureclient/flasharray/FA_2_10/models/volume_group_performance.py index ea038c3e0..1156b9507 100644 --- a/pypureclient/flasharray/FA_2_10/models/volume_group_performance.py +++ b/pypureclient/flasharray/FA_2_10/models/volume_group_performance.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_10/models/volume_performance.py b/pypureclient/flasharray/FA_2_10/models/volume_performance.py index a1a7b2310..8d968514d 100644 --- a/pypureclient/flasharray/FA_2_10/models/volume_performance.py +++ b/pypureclient/flasharray/FA_2_10/models/volume_performance.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_10/models/volume_performance_by_array.py b/pypureclient/flasharray/FA_2_10/models/volume_performance_by_array.py index 65679081e..7dc69a3e0 100644 --- a/pypureclient/flasharray/FA_2_10/models/volume_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_10/models/volume_performance_by_array.py @@ -133,30 +133,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_11/models/array_performance.py b/pypureclient/flasharray/FA_2_11/models/array_performance.py index 5562a13f9..bbabc1f18 100644 --- a/pypureclient/flasharray/FA_2_11/models/array_performance.py +++ b/pypureclient/flasharray/FA_2_11/models/array_performance.py @@ -142,38 +142,38 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. name (str): A locally unique, system-generated name. The name cannot be modified. queue_depth (int): Deprecated. The number displayed here may not be accurate and in later versions of the product this field will always display `null`. Instead, use `queue_usec_per_mirrored_write_op`, `queue_usec_per_read_op`, and `queue_usec_per_write_op` fields to measure IO queuing. - local_queue_usec_per_op (int): Average local queue time for both read and write operations, measured in microseconds. - usec_per_other_op (int): The average time it takes the array to process an I/O other request, measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + local_queue_usec_per_op (int): Deprecated. The number displayed here may not be accurate and in later versions of the product this field will always display `null`. Instead, use `queue_usec_per_mirrored_write_op`, `queue_usec_per_read_op`, and `queue_usec_per_write_op` fields to measure IO queuing. + usec_per_other_op (int): The average time it takes the array to process an I/O other request, measured in microseconds. others_per_sec (int): The number of other requests processed per second. """ if bytes_per_mirrored_write is not None: diff --git a/pypureclient/flasharray/FA_2_11/models/directory_performance.py b/pypureclient/flasharray/FA_2_11/models/directory_performance.py index a9a17e34b..48d8b4e11 100644 --- a/pypureclient/flasharray/FA_2_11/models/directory_performance.py +++ b/pypureclient/flasharray/FA_2_11/models/directory_performance.py @@ -94,9 +94,9 @@ def __init__( read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_other_op (int): The average time it takes the array to process an I/O other request, measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + usec_per_other_op (int): The average time it takes the array to process an I/O other request, measured in microseconds. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. """ diff --git a/pypureclient/flasharray/FA_2_11/models/host_group_performance.py b/pypureclient/flasharray/FA_2_11/models/host_group_performance.py index 6c462463c..2708c839b 100644 --- a/pypureclient/flasharray/FA_2_11/models/host_group_performance.py +++ b/pypureclient/flasharray/FA_2_11/models/host_group_performance.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_11/models/host_group_performance_by_array.py b/pypureclient/flasharray/FA_2_11/models/host_group_performance_by_array.py index 9e0f5dec4..0641ec57e 100644 --- a/pypureclient/flasharray/FA_2_11/models/host_group_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_11/models/host_group_performance_by_array.py @@ -133,30 +133,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_11/models/host_performance.py b/pypureclient/flasharray/FA_2_11/models/host_performance.py index 12d388656..cc9ebaef4 100644 --- a/pypureclient/flasharray/FA_2_11/models/host_performance.py +++ b/pypureclient/flasharray/FA_2_11/models/host_performance.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_11/models/host_performance_by_array.py b/pypureclient/flasharray/FA_2_11/models/host_performance_by_array.py index 3139c3c74..d41557c9f 100644 --- a/pypureclient/flasharray/FA_2_11/models/host_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_11/models/host_performance_by_array.py @@ -133,30 +133,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_11/models/performance.py b/pypureclient/flasharray/FA_2_11/models/performance.py index d56dc0aba..b297a9cec 100644 --- a/pypureclient/flasharray/FA_2_11/models/performance.py +++ b/pypureclient/flasharray/FA_2_11/models/performance.py @@ -124,30 +124,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_11/models/pod_array_status.py b/pypureclient/flasharray/FA_2_11/models/pod_array_status.py index 0c46bd260..f0d3406b9 100644 --- a/pypureclient/flasharray/FA_2_11/models/pod_array_status.py +++ b/pypureclient/flasharray/FA_2_11/models/pod_array_status.py @@ -70,7 +70,7 @@ def __init__( mediator_status (str): The status of the mediator, which determines whether it is available to mediate a high availability event. Valid values are `flummoxed`, `online`, `unknown`, and `unreachable`. Only mediators in the `online` status can mediate high availability events. If set to `flummoxed`, the array can reach a mediator, but it is talking to the wrong one. Verify that the DNS in the environment is properly configured. This status might also appear if the pod has been offline on one array for an extended period of time and the peer array is unreachable. If set to `online`, the array is successfully communicating with the mediator, and the mediator is available to mediate a high availability event. If set to `unreachable`, the array cannot reach the mediator, either due to network issues or because the mediator is down. When a mediator is unreachable, synchronous replication continues to function provided all arrays are healthy and communicating, but a high availability event without mediator access can result in an outage. pre_elected (bool): If set to `true`, the array has been pre-elected to remain online in the rare event that the mediator is inaccessible on both arrays within the stretched pod, and then later, the arrays within the stretched pod become disconnected from each other. If set to `false`, either the array has been pre-elected to remain offline while its peer array remains online, or pre-election is not in effect. One and only one array within each pod is pre-elected at a given point in time, so while a pre-elected array is keeping the pod online, the pod on its non-elected peer array remains offline during the communication failure. Users cannot pre-elect arrays. progress (float): The percentage progress of the pod resyncing process for this array. The percentage is displayed as a decimal value, starting at 0.00 and ending at 1.00. - status (str): The status of the array within the stretched pod. Valid values are `offline`, `online`, `resyncing`, `suspended`, and `unknown`. If set to `offline`, the array is experiencing problems and may not have the latest pod data. The array cannot handle I/O to the pod and cannot take over during a high availability event. If set to `online`, the array is online and has the latest pod data. The array can handle I/O to the pod and take over during a high availability event. If set to `suspended`, the array is experiencing a short connection glitch of the pod. This is a temporary status and would transition to either `online` or `offline` soon. If set to `resyncing`, the array is actively getting the latest pod data so that it becomes fully synchronized with its peer array. During the resyncing process, the array cannot handle I/O to the pod. Once the arrays are fully synchronized, the array changes to `online` status. If set to `unknown`, the status of the peer array is unknown because this array is offline and cannot determine the state of the pod on the peer array. Only the peer array can ever be in unknown status; this unknown status is unique to the local array and will differ when viewed from its peer array. + status (str): The status of the array within the stretched pod. Valid values are `offline`, `online`, `resyncing`, `suspended`, and `unknown`. If set to `offline`, the array is experiencing problems and may not have the latest pod data. The array cannot handle I/O to the pod and cannot take over during a high availability event. If set to `online`, the array is online and has the latest pod data. The array can handle I/O to the pod and take over during a high availability event. If set to `suspended`, the array is experiencing a short connection glitch of the pod. This is a temporary status and would transition to either `online` or `offline` soon. `suspended` is a new status that is exposed, starting from version 6.6.0. If set to `resyncing`, the array is actively getting the latest pod data so that it becomes fully synchronized with its peer array. During the resyncing process, the array cannot handle I/O to the pod. Once the arrays are fully synchronized, the array changes to `online` status. If set to `unknown`, the status of the peer array is unknown because this array is offline and cannot determine the state of the pod on the peer array. Only the peer array can ever be in unknown status; this unknown status is unique to the local array and will differ when viewed from its peer array. """ if id is not None: self.id = id diff --git a/pypureclient/flasharray/FA_2_11/models/pod_performance.py b/pypureclient/flasharray/FA_2_11/models/pod_performance.py index 7629e108f..1b3fc530b 100644 --- a/pypureclient/flasharray/FA_2_11/models/pod_performance.py +++ b/pypureclient/flasharray/FA_2_11/models/pod_performance.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_11/models/pod_performance_by_array.py b/pypureclient/flasharray/FA_2_11/models/pod_performance_by_array.py index f5d74e13b..419f27df1 100644 --- a/pypureclient/flasharray/FA_2_11/models/pod_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_11/models/pod_performance_by_array.py @@ -133,30 +133,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_11/models/resource_performance.py b/pypureclient/flasharray/FA_2_11/models/resource_performance.py index ed8c7e330..ca988bbdd 100644 --- a/pypureclient/flasharray/FA_2_11/models/resource_performance.py +++ b/pypureclient/flasharray/FA_2_11/models/resource_performance.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_11/models/resource_performance_by_array.py b/pypureclient/flasharray/FA_2_11/models/resource_performance_by_array.py index 0456e3777..d35733c1f 100644 --- a/pypureclient/flasharray/FA_2_11/models/resource_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_11/models/resource_performance_by_array.py @@ -133,30 +133,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_11/models/resource_performance_no_id.py b/pypureclient/flasharray/FA_2_11/models/resource_performance_no_id.py index d21fd3a19..2d76281d1 100644 --- a/pypureclient/flasharray/FA_2_11/models/resource_performance_no_id.py +++ b/pypureclient/flasharray/FA_2_11/models/resource_performance_no_id.py @@ -127,30 +127,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_11/models/resource_performance_no_id_by_array.py b/pypureclient/flasharray/FA_2_11/models/resource_performance_no_id_by_array.py index 81179cdc2..f7c89dec5 100644 --- a/pypureclient/flasharray/FA_2_11/models/resource_performance_no_id_by_array.py +++ b/pypureclient/flasharray/FA_2_11/models/resource_performance_no_id_by_array.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_11/models/volume_group_performance.py b/pypureclient/flasharray/FA_2_11/models/volume_group_performance.py index a5fda9020..624caf328 100644 --- a/pypureclient/flasharray/FA_2_11/models/volume_group_performance.py +++ b/pypureclient/flasharray/FA_2_11/models/volume_group_performance.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_11/models/volume_performance.py b/pypureclient/flasharray/FA_2_11/models/volume_performance.py index 08e3b11e1..084c58c7a 100644 --- a/pypureclient/flasharray/FA_2_11/models/volume_performance.py +++ b/pypureclient/flasharray/FA_2_11/models/volume_performance.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_11/models/volume_performance_by_array.py b/pypureclient/flasharray/FA_2_11/models/volume_performance_by_array.py index 3dd697f8d..9c3bc5826 100644 --- a/pypureclient/flasharray/FA_2_11/models/volume_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_11/models/volume_performance_by_array.py @@ -133,30 +133,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_13/models/array_performance.py b/pypureclient/flasharray/FA_2_13/models/array_performance.py index 37e69d2fd..7c58c364e 100644 --- a/pypureclient/flasharray/FA_2_13/models/array_performance.py +++ b/pypureclient/flasharray/FA_2_13/models/array_performance.py @@ -142,38 +142,38 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. name (str): A locally unique, system-generated name. The name cannot be modified. queue_depth (int): Deprecated. The number displayed here may not be accurate and in later versions of the product this field will always display `null`. Instead, use `queue_usec_per_mirrored_write_op`, `queue_usec_per_read_op`, and `queue_usec_per_write_op` fields to measure IO queuing. - local_queue_usec_per_op (int): Average local queue time for both read and write operations, measured in microseconds. - usec_per_other_op (int): The average time it takes the array to process an I/O other request, measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + local_queue_usec_per_op (int): Deprecated. The number displayed here may not be accurate and in later versions of the product this field will always display `null`. Instead, use `queue_usec_per_mirrored_write_op`, `queue_usec_per_read_op`, and `queue_usec_per_write_op` fields to measure IO queuing. + usec_per_other_op (int): The average time it takes the array to process an I/O other request, measured in microseconds. others_per_sec (int): The number of other requests processed per second. """ if bytes_per_mirrored_write is not None: diff --git a/pypureclient/flasharray/FA_2_13/models/directory_performance.py b/pypureclient/flasharray/FA_2_13/models/directory_performance.py index 94585e252..0662a4a1f 100644 --- a/pypureclient/flasharray/FA_2_13/models/directory_performance.py +++ b/pypureclient/flasharray/FA_2_13/models/directory_performance.py @@ -94,9 +94,9 @@ def __init__( read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_other_op (int): The average time it takes the array to process an I/O other request, measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + usec_per_other_op (int): The average time it takes the array to process an I/O other request, measured in microseconds. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. """ diff --git a/pypureclient/flasharray/FA_2_13/models/host_group_performance.py b/pypureclient/flasharray/FA_2_13/models/host_group_performance.py index 358000d17..6b443d340 100644 --- a/pypureclient/flasharray/FA_2_13/models/host_group_performance.py +++ b/pypureclient/flasharray/FA_2_13/models/host_group_performance.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_13/models/host_group_performance_by_array.py b/pypureclient/flasharray/FA_2_13/models/host_group_performance_by_array.py index 8e9cc8599..df5d5bd78 100644 --- a/pypureclient/flasharray/FA_2_13/models/host_group_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_13/models/host_group_performance_by_array.py @@ -133,30 +133,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_13/models/host_performance.py b/pypureclient/flasharray/FA_2_13/models/host_performance.py index 0775ecb59..21e180864 100644 --- a/pypureclient/flasharray/FA_2_13/models/host_performance.py +++ b/pypureclient/flasharray/FA_2_13/models/host_performance.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_13/models/host_performance_by_array.py b/pypureclient/flasharray/FA_2_13/models/host_performance_by_array.py index 9b1d3c956..138217b80 100644 --- a/pypureclient/flasharray/FA_2_13/models/host_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_13/models/host_performance_by_array.py @@ -133,30 +133,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_13/models/performance.py b/pypureclient/flasharray/FA_2_13/models/performance.py index 20e32fbe5..7e68d7757 100644 --- a/pypureclient/flasharray/FA_2_13/models/performance.py +++ b/pypureclient/flasharray/FA_2_13/models/performance.py @@ -124,30 +124,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_13/models/pod_array_status.py b/pypureclient/flasharray/FA_2_13/models/pod_array_status.py index 644498bc7..bd897eaf6 100644 --- a/pypureclient/flasharray/FA_2_13/models/pod_array_status.py +++ b/pypureclient/flasharray/FA_2_13/models/pod_array_status.py @@ -70,7 +70,7 @@ def __init__( mediator_status (str): The status of the mediator, which determines whether it is available to mediate a high availability event. Valid values are `flummoxed`, `online`, `unknown`, and `unreachable`. Only mediators in the `online` status can mediate high availability events. If set to `flummoxed`, the array can reach a mediator, but it is talking to the wrong one. Verify that the DNS in the environment is properly configured. This status might also appear if the pod has been offline on one array for an extended period of time and the peer array is unreachable. If set to `online`, the array is successfully communicating with the mediator, and the mediator is available to mediate a high availability event. If set to `unreachable`, the array cannot reach the mediator, either due to network issues or because the mediator is down. When a mediator is unreachable, synchronous replication continues to function provided all arrays are healthy and communicating, but a high availability event without mediator access can result in an outage. pre_elected (bool): If set to `true`, the array has been pre-elected to remain online in the rare event that the mediator is inaccessible on both arrays within the stretched pod, and then later, the arrays within the stretched pod become disconnected from each other. If set to `false`, either the array has been pre-elected to remain offline while its peer array remains online, or pre-election is not in effect. One and only one array within each pod is pre-elected at a given point in time, so while a pre-elected array is keeping the pod online, the pod on its non-elected peer array remains offline during the communication failure. Users cannot pre-elect arrays. progress (float): The percentage progress of the pod resyncing process for this array. The percentage is displayed as a decimal value, starting at 0.00 and ending at 1.00. - status (str): The status of the array within the stretched pod. Valid values are `offline`, `online`, `resyncing`, `suspended`, and `unknown`. If set to `offline`, the array is experiencing problems and may not have the latest pod data. The array cannot handle I/O to the pod and cannot take over during a high availability event. If set to `online`, the array is online and has the latest pod data. The array can handle I/O to the pod and take over during a high availability event. If set to `suspended`, the array is experiencing a short connection glitch of the pod. This is a temporary status and would transition to either `online` or `offline` soon. If set to `resyncing`, the array is actively getting the latest pod data so that it becomes fully synchronized with its peer array. During the resyncing process, the array cannot handle I/O to the pod. Once the arrays are fully synchronized, the array changes to `online` status. If set to `unknown`, the status of the peer array is unknown because this array is offline and cannot determine the state of the pod on the peer array. Only the peer array can ever be in unknown status; this unknown status is unique to the local array and will differ when viewed from its peer array. + status (str): The status of the array within the stretched pod. Valid values are `offline`, `online`, `resyncing`, `suspended`, and `unknown`. If set to `offline`, the array is experiencing problems and may not have the latest pod data. The array cannot handle I/O to the pod and cannot take over during a high availability event. If set to `online`, the array is online and has the latest pod data. The array can handle I/O to the pod and take over during a high availability event. If set to `suspended`, the array is experiencing a short connection glitch of the pod. This is a temporary status and would transition to either `online` or `offline` soon. `suspended` is a new status that is exposed, starting from version 6.6.0. If set to `resyncing`, the array is actively getting the latest pod data so that it becomes fully synchronized with its peer array. During the resyncing process, the array cannot handle I/O to the pod. Once the arrays are fully synchronized, the array changes to `online` status. If set to `unknown`, the status of the peer array is unknown because this array is offline and cannot determine the state of the pod on the peer array. Only the peer array can ever be in unknown status; this unknown status is unique to the local array and will differ when viewed from its peer array. """ if id is not None: self.id = id diff --git a/pypureclient/flasharray/FA_2_13/models/pod_performance.py b/pypureclient/flasharray/FA_2_13/models/pod_performance.py index 4cd8ed01a..89b8ec25a 100644 --- a/pypureclient/flasharray/FA_2_13/models/pod_performance.py +++ b/pypureclient/flasharray/FA_2_13/models/pod_performance.py @@ -136,37 +136,37 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. name (str): A user-specified name. The name must be locally unique and can be changed. others_per_sec (int): The number of other requests processed per second. - usec_per_other_op (int): The average time it takes the pod to process an I/O other request, measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + usec_per_other_op (int): The average time it takes the pod to process an I/O other request, measured in microseconds. """ if bytes_per_mirrored_write is not None: self.bytes_per_mirrored_write = bytes_per_mirrored_write diff --git a/pypureclient/flasharray/FA_2_13/models/pod_performance_by_array.py b/pypureclient/flasharray/FA_2_13/models/pod_performance_by_array.py index 8e819fd16..372aee395 100644 --- a/pypureclient/flasharray/FA_2_13/models/pod_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_13/models/pod_performance_by_array.py @@ -139,37 +139,37 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. name (str): A user-specified name. The name must be locally unique and can be changed. others_per_sec (int): The number of other requests processed per second. - usec_per_other_op (int): The average time it takes the pod to process an I/O other request, measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + usec_per_other_op (int): The average time it takes the pod to process an I/O other request, measured in microseconds. array (Resource): The array on which the performance metrics were recorded. """ if bytes_per_mirrored_write is not None: diff --git a/pypureclient/flasharray/FA_2_13/models/resource_performance.py b/pypureclient/flasharray/FA_2_13/models/resource_performance.py index efb0b47d6..32c7cdeca 100644 --- a/pypureclient/flasharray/FA_2_13/models/resource_performance.py +++ b/pypureclient/flasharray/FA_2_13/models/resource_performance.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_13/models/resource_performance_by_array.py b/pypureclient/flasharray/FA_2_13/models/resource_performance_by_array.py index 420dadf3a..1418e6e15 100644 --- a/pypureclient/flasharray/FA_2_13/models/resource_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_13/models/resource_performance_by_array.py @@ -133,30 +133,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_13/models/resource_performance_no_id.py b/pypureclient/flasharray/FA_2_13/models/resource_performance_no_id.py index 90637f990..586d9cc54 100644 --- a/pypureclient/flasharray/FA_2_13/models/resource_performance_no_id.py +++ b/pypureclient/flasharray/FA_2_13/models/resource_performance_no_id.py @@ -127,30 +127,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_13/models/resource_performance_no_id_by_array.py b/pypureclient/flasharray/FA_2_13/models/resource_performance_no_id_by_array.py index 2c0dd33e8..06eb796f7 100644 --- a/pypureclient/flasharray/FA_2_13/models/resource_performance_no_id_by_array.py +++ b/pypureclient/flasharray/FA_2_13/models/resource_performance_no_id_by_array.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_13/models/volume_group_performance.py b/pypureclient/flasharray/FA_2_13/models/volume_group_performance.py index 60da4254c..e0727928d 100644 --- a/pypureclient/flasharray/FA_2_13/models/volume_group_performance.py +++ b/pypureclient/flasharray/FA_2_13/models/volume_group_performance.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_13/models/volume_performance.py b/pypureclient/flasharray/FA_2_13/models/volume_performance.py index c9cd7917c..052a12c26 100644 --- a/pypureclient/flasharray/FA_2_13/models/volume_performance.py +++ b/pypureclient/flasharray/FA_2_13/models/volume_performance.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_13/models/volume_performance_by_array.py b/pypureclient/flasharray/FA_2_13/models/volume_performance_by_array.py index b71e0cb9b..93df53698 100644 --- a/pypureclient/flasharray/FA_2_13/models/volume_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_13/models/volume_performance_by_array.py @@ -133,30 +133,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_14/models/array_performance.py b/pypureclient/flasharray/FA_2_14/models/array_performance.py index 727765ed2..351e936c2 100644 --- a/pypureclient/flasharray/FA_2_14/models/array_performance.py +++ b/pypureclient/flasharray/FA_2_14/models/array_performance.py @@ -142,38 +142,38 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. name (str): A locally unique, system-generated name. The name cannot be modified. queue_depth (int): Deprecated. The number displayed here may not be accurate and in later versions of the product this field will always display `null`. Instead, use `queue_usec_per_mirrored_write_op`, `queue_usec_per_read_op`, and `queue_usec_per_write_op` fields to measure IO queuing. - local_queue_usec_per_op (int): Average local queue time for both read and write operations, measured in microseconds. - usec_per_other_op (int): The average time it takes the array to process an I/O other request, measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + local_queue_usec_per_op (int): Deprecated. The number displayed here may not be accurate and in later versions of the product this field will always display `null`. Instead, use `queue_usec_per_mirrored_write_op`, `queue_usec_per_read_op`, and `queue_usec_per_write_op` fields to measure IO queuing. + usec_per_other_op (int): The average time it takes the array to process an I/O other request, measured in microseconds. others_per_sec (int): The number of other requests processed per second. """ if bytes_per_mirrored_write is not None: diff --git a/pypureclient/flasharray/FA_2_14/models/directory_performance.py b/pypureclient/flasharray/FA_2_14/models/directory_performance.py index 9273a80b9..5245c169d 100644 --- a/pypureclient/flasharray/FA_2_14/models/directory_performance.py +++ b/pypureclient/flasharray/FA_2_14/models/directory_performance.py @@ -94,9 +94,9 @@ def __init__( read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_other_op (int): The average time it takes the array to process an I/O other request, measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + usec_per_other_op (int): The average time it takes the array to process an I/O other request, measured in microseconds. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. """ diff --git a/pypureclient/flasharray/FA_2_14/models/host_group_performance.py b/pypureclient/flasharray/FA_2_14/models/host_group_performance.py index acc958bc9..24cb277d2 100644 --- a/pypureclient/flasharray/FA_2_14/models/host_group_performance.py +++ b/pypureclient/flasharray/FA_2_14/models/host_group_performance.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_14/models/host_group_performance_by_array.py b/pypureclient/flasharray/FA_2_14/models/host_group_performance_by_array.py index f9a74a39d..ab16d16b8 100644 --- a/pypureclient/flasharray/FA_2_14/models/host_group_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_14/models/host_group_performance_by_array.py @@ -133,30 +133,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_14/models/host_performance.py b/pypureclient/flasharray/FA_2_14/models/host_performance.py index 48b5723ca..21f1c1540 100644 --- a/pypureclient/flasharray/FA_2_14/models/host_performance.py +++ b/pypureclient/flasharray/FA_2_14/models/host_performance.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_14/models/host_performance_by_array.py b/pypureclient/flasharray/FA_2_14/models/host_performance_by_array.py index 2eee0355b..6e188af80 100644 --- a/pypureclient/flasharray/FA_2_14/models/host_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_14/models/host_performance_by_array.py @@ -133,30 +133,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_14/models/performance.py b/pypureclient/flasharray/FA_2_14/models/performance.py index f92e1fe63..1d9100a03 100644 --- a/pypureclient/flasharray/FA_2_14/models/performance.py +++ b/pypureclient/flasharray/FA_2_14/models/performance.py @@ -124,30 +124,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_14/models/pod_array_status.py b/pypureclient/flasharray/FA_2_14/models/pod_array_status.py index 2eb4b45e7..374f62495 100644 --- a/pypureclient/flasharray/FA_2_14/models/pod_array_status.py +++ b/pypureclient/flasharray/FA_2_14/models/pod_array_status.py @@ -70,7 +70,7 @@ def __init__( mediator_status (str): The status of the mediator, which determines whether it is available to mediate a high availability event. Valid values are `flummoxed`, `online`, `unknown`, and `unreachable`. Only mediators in the `online` status can mediate high availability events. If set to `flummoxed`, the array can reach a mediator, but it is talking to the wrong one. Verify that the DNS in the environment is properly configured. This status might also appear if the pod has been offline on one array for an extended period of time and the peer array is unreachable. If set to `online`, the array is successfully communicating with the mediator, and the mediator is available to mediate a high availability event. If set to `unreachable`, the array cannot reach the mediator, either due to network issues or because the mediator is down. When a mediator is unreachable, synchronous replication continues to function provided all arrays are healthy and communicating, but a high availability event without mediator access can result in an outage. pre_elected (bool): If set to `true`, the array has been pre-elected to remain online in the rare event that the mediator is inaccessible on both arrays within the stretched pod, and then later, the arrays within the stretched pod become disconnected from each other. If set to `false`, either the array has been pre-elected to remain offline while its peer array remains online, or pre-election is not in effect. One and only one array within each pod is pre-elected at a given point in time, so while a pre-elected array is keeping the pod online, the pod on its non-elected peer array remains offline during the communication failure. Users cannot pre-elect arrays. progress (float): The percentage progress of the pod resyncing process for this array. The percentage is displayed as a decimal value, starting at 0.00 and ending at 1.00. - status (str): The status of the array within the stretched pod. Valid values are `offline`, `online`, `resyncing`, `suspended`, and `unknown`. If set to `offline`, the array is experiencing problems and may not have the latest pod data. The array cannot handle I/O to the pod and cannot take over during a high availability event. If set to `online`, the array is online and has the latest pod data. The array can handle I/O to the pod and take over during a high availability event. If set to `suspended`, the array is experiencing a short connection glitch of the pod. This is a temporary status and would transition to either `online` or `offline` soon. If set to `resyncing`, the array is actively getting the latest pod data so that it becomes fully synchronized with its peer array. During the resyncing process, the array cannot handle I/O to the pod. Once the arrays are fully synchronized, the array changes to `online` status. If set to `unknown`, the status of the peer array is unknown because this array is offline and cannot determine the state of the pod on the peer array. Only the peer array can ever be in unknown status; this unknown status is unique to the local array and will differ when viewed from its peer array. + status (str): The status of the array within the stretched pod. Valid values are `offline`, `online`, `resyncing`, `suspended`, and `unknown`. If set to `offline`, the array is experiencing problems and may not have the latest pod data. The array cannot handle I/O to the pod and cannot take over during a high availability event. If set to `online`, the array is online and has the latest pod data. The array can handle I/O to the pod and take over during a high availability event. If set to `suspended`, the array is experiencing a short connection glitch of the pod. This is a temporary status and would transition to either `online` or `offline` soon. `suspended` is a new status that is exposed, starting from version 6.6.0. If set to `resyncing`, the array is actively getting the latest pod data so that it becomes fully synchronized with its peer array. During the resyncing process, the array cannot handle I/O to the pod. Once the arrays are fully synchronized, the array changes to `online` status. If set to `unknown`, the status of the peer array is unknown because this array is offline and cannot determine the state of the pod on the peer array. Only the peer array can ever be in unknown status; this unknown status is unique to the local array and will differ when viewed from its peer array. """ if id is not None: self.id = id diff --git a/pypureclient/flasharray/FA_2_14/models/pod_performance.py b/pypureclient/flasharray/FA_2_14/models/pod_performance.py index 52b64b260..618ac1dfe 100644 --- a/pypureclient/flasharray/FA_2_14/models/pod_performance.py +++ b/pypureclient/flasharray/FA_2_14/models/pod_performance.py @@ -136,37 +136,37 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. name (str): A user-specified name. The name must be locally unique and can be changed. others_per_sec (int): The number of other requests processed per second. - usec_per_other_op (int): The average time it takes the pod to process an I/O other request, measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + usec_per_other_op (int): The average time it takes the pod to process an I/O other request, measured in microseconds. """ if bytes_per_mirrored_write is not None: self.bytes_per_mirrored_write = bytes_per_mirrored_write diff --git a/pypureclient/flasharray/FA_2_14/models/pod_performance_by_array.py b/pypureclient/flasharray/FA_2_14/models/pod_performance_by_array.py index d5833b73d..c41ca693c 100644 --- a/pypureclient/flasharray/FA_2_14/models/pod_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_14/models/pod_performance_by_array.py @@ -139,37 +139,37 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. name (str): A user-specified name. The name must be locally unique and can be changed. others_per_sec (int): The number of other requests processed per second. - usec_per_other_op (int): The average time it takes the pod to process an I/O other request, measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + usec_per_other_op (int): The average time it takes the pod to process an I/O other request, measured in microseconds. array (Resource): The array on which the performance metrics were recorded. """ if bytes_per_mirrored_write is not None: diff --git a/pypureclient/flasharray/FA_2_14/models/resource_performance.py b/pypureclient/flasharray/FA_2_14/models/resource_performance.py index ce8aa5212..a703a7e84 100644 --- a/pypureclient/flasharray/FA_2_14/models/resource_performance.py +++ b/pypureclient/flasharray/FA_2_14/models/resource_performance.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_14/models/resource_performance_by_array.py b/pypureclient/flasharray/FA_2_14/models/resource_performance_by_array.py index 23ea96fbe..c204aaad9 100644 --- a/pypureclient/flasharray/FA_2_14/models/resource_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_14/models/resource_performance_by_array.py @@ -133,30 +133,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_14/models/resource_performance_no_id.py b/pypureclient/flasharray/FA_2_14/models/resource_performance_no_id.py index c1dc4b069..88f9bd117 100644 --- a/pypureclient/flasharray/FA_2_14/models/resource_performance_no_id.py +++ b/pypureclient/flasharray/FA_2_14/models/resource_performance_no_id.py @@ -127,30 +127,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_14/models/resource_performance_no_id_by_array.py b/pypureclient/flasharray/FA_2_14/models/resource_performance_no_id_by_array.py index 76b53c26a..b091716cf 100644 --- a/pypureclient/flasharray/FA_2_14/models/resource_performance_no_id_by_array.py +++ b/pypureclient/flasharray/FA_2_14/models/resource_performance_no_id_by_array.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_14/models/volume_group_performance.py b/pypureclient/flasharray/FA_2_14/models/volume_group_performance.py index b31652840..c66c513e1 100644 --- a/pypureclient/flasharray/FA_2_14/models/volume_group_performance.py +++ b/pypureclient/flasharray/FA_2_14/models/volume_group_performance.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_14/models/volume_performance.py b/pypureclient/flasharray/FA_2_14/models/volume_performance.py index cd5309295..409a4eea1 100644 --- a/pypureclient/flasharray/FA_2_14/models/volume_performance.py +++ b/pypureclient/flasharray/FA_2_14/models/volume_performance.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_14/models/volume_performance_by_array.py b/pypureclient/flasharray/FA_2_14/models/volume_performance_by_array.py index 39bb669f7..19b9b5dfb 100644 --- a/pypureclient/flasharray/FA_2_14/models/volume_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_14/models/volume_performance_by_array.py @@ -133,30 +133,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_15/models/array_performance.py b/pypureclient/flasharray/FA_2_15/models/array_performance.py index c05f41604..d7a3192c9 100644 --- a/pypureclient/flasharray/FA_2_15/models/array_performance.py +++ b/pypureclient/flasharray/FA_2_15/models/array_performance.py @@ -142,38 +142,38 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. name (str): A locally unique, system-generated name. The name cannot be modified. queue_depth (int): Deprecated. The number displayed here may not be accurate and in later versions of the product this field will always display `null`. Instead, use `queue_usec_per_mirrored_write_op`, `queue_usec_per_read_op`, and `queue_usec_per_write_op` fields to measure IO queuing. - local_queue_usec_per_op (int): Average local queue time for both read and write operations, measured in microseconds. - usec_per_other_op (int): The average time it takes the array to process an I/O other request, measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + local_queue_usec_per_op (int): Deprecated. The number displayed here may not be accurate and in later versions of the product this field will always display `null`. Instead, use `queue_usec_per_mirrored_write_op`, `queue_usec_per_read_op`, and `queue_usec_per_write_op` fields to measure IO queuing. + usec_per_other_op (int): The average time it takes the array to process an I/O other request, measured in microseconds. others_per_sec (int): The number of other requests processed per second. """ if bytes_per_mirrored_write is not None: diff --git a/pypureclient/flasharray/FA_2_15/models/directory_performance.py b/pypureclient/flasharray/FA_2_15/models/directory_performance.py index b820dc668..4bcd9b2a4 100644 --- a/pypureclient/flasharray/FA_2_15/models/directory_performance.py +++ b/pypureclient/flasharray/FA_2_15/models/directory_performance.py @@ -94,9 +94,9 @@ def __init__( read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_other_op (int): The average time it takes the array to process an I/O other request, measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + usec_per_other_op (int): The average time it takes the array to process an I/O other request, measured in microseconds. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. """ diff --git a/pypureclient/flasharray/FA_2_15/models/host_group_performance.py b/pypureclient/flasharray/FA_2_15/models/host_group_performance.py index 0c9a09fc8..0be243470 100644 --- a/pypureclient/flasharray/FA_2_15/models/host_group_performance.py +++ b/pypureclient/flasharray/FA_2_15/models/host_group_performance.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_15/models/host_group_performance_by_array.py b/pypureclient/flasharray/FA_2_15/models/host_group_performance_by_array.py index 27daef8f2..39f972def 100644 --- a/pypureclient/flasharray/FA_2_15/models/host_group_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_15/models/host_group_performance_by_array.py @@ -133,30 +133,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_15/models/host_performance.py b/pypureclient/flasharray/FA_2_15/models/host_performance.py index 25f7e7185..ac19af2a0 100644 --- a/pypureclient/flasharray/FA_2_15/models/host_performance.py +++ b/pypureclient/flasharray/FA_2_15/models/host_performance.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_15/models/host_performance_by_array.py b/pypureclient/flasharray/FA_2_15/models/host_performance_by_array.py index e395cc9d7..9f4a2bcb3 100644 --- a/pypureclient/flasharray/FA_2_15/models/host_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_15/models/host_performance_by_array.py @@ -133,30 +133,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_15/models/performance.py b/pypureclient/flasharray/FA_2_15/models/performance.py index 399ead5ea..1f5ccdf1c 100644 --- a/pypureclient/flasharray/FA_2_15/models/performance.py +++ b/pypureclient/flasharray/FA_2_15/models/performance.py @@ -124,30 +124,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_15/models/pod_array_status.py b/pypureclient/flasharray/FA_2_15/models/pod_array_status.py index 7ca6bd13b..c8bc9513e 100644 --- a/pypureclient/flasharray/FA_2_15/models/pod_array_status.py +++ b/pypureclient/flasharray/FA_2_15/models/pod_array_status.py @@ -70,7 +70,7 @@ def __init__( mediator_status (str): The status of the mediator, which determines whether it is available to mediate a high availability event. Valid values are `flummoxed`, `online`, `unknown`, and `unreachable`. Only mediators in the `online` status can mediate high availability events. If set to `flummoxed`, the array can reach a mediator, but it is talking to the wrong one. Verify that the DNS in the environment is properly configured. This status might also appear if the pod has been offline on one array for an extended period of time and the peer array is unreachable. If set to `online`, the array is successfully communicating with the mediator, and the mediator is available to mediate a high availability event. If set to `unreachable`, the array cannot reach the mediator, either due to network issues or because the mediator is down. When a mediator is unreachable, synchronous replication continues to function provided all arrays are healthy and communicating, but a high availability event without mediator access can result in an outage. pre_elected (bool): If set to `true`, the array has been pre-elected to remain online in the rare event that the mediator is inaccessible on both arrays within the stretched pod, and then later, the arrays within the stretched pod become disconnected from each other. If set to `false`, either the array has been pre-elected to remain offline while its peer array remains online, or pre-election is not in effect. One and only one array within each pod is pre-elected at a given point in time, so while a pre-elected array is keeping the pod online, the pod on its non-elected peer array remains offline during the communication failure. Users cannot pre-elect arrays. progress (float): The percentage progress of the pod resyncing process for this array. The percentage is displayed as a decimal value, starting at 0.00 and ending at 1.00. - status (str): The status of the array within the stretched pod. Valid values are `offline`, `online`, `resyncing`, `suspended`, and `unknown`. If set to `offline`, the array is experiencing problems and may not have the latest pod data. The array cannot handle I/O to the pod and cannot take over during a high availability event. If set to `online`, the array is online and has the latest pod data. The array can handle I/O to the pod and take over during a high availability event. If set to `suspended`, the array is experiencing a short connection glitch of the pod. This is a temporary status and would transition to either `online` or `offline` soon. If set to `resyncing`, the array is actively getting the latest pod data so that it becomes fully synchronized with its peer array. During the resyncing process, the array cannot handle I/O to the pod. Once the arrays are fully synchronized, the array changes to `online` status. If set to `unknown`, the status of the peer array is unknown because this array is offline and cannot determine the state of the pod on the peer array. Only the peer array can ever be in unknown status; this unknown status is unique to the local array and will differ when viewed from its peer array. + status (str): The status of the array within the stretched pod. Valid values are `offline`, `online`, `resyncing`, `suspended`, and `unknown`. If set to `offline`, the array is experiencing problems and may not have the latest pod data. The array cannot handle I/O to the pod and cannot take over during a high availability event. If set to `online`, the array is online and has the latest pod data. The array can handle I/O to the pod and take over during a high availability event. If set to `suspended`, the array is experiencing a short connection glitch of the pod. This is a temporary status and would transition to either `online` or `offline` soon. `suspended` is a new status that is exposed, starting from version 6.6.0. If set to `resyncing`, the array is actively getting the latest pod data so that it becomes fully synchronized with its peer array. During the resyncing process, the array cannot handle I/O to the pod. Once the arrays are fully synchronized, the array changes to `online` status. If set to `unknown`, the status of the peer array is unknown because this array is offline and cannot determine the state of the pod on the peer array. Only the peer array can ever be in unknown status; this unknown status is unique to the local array and will differ when viewed from its peer array. """ if id is not None: self.id = id diff --git a/pypureclient/flasharray/FA_2_15/models/pod_performance.py b/pypureclient/flasharray/FA_2_15/models/pod_performance.py index 32d0f6c1c..545b47aca 100644 --- a/pypureclient/flasharray/FA_2_15/models/pod_performance.py +++ b/pypureclient/flasharray/FA_2_15/models/pod_performance.py @@ -136,37 +136,37 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. name (str): A user-specified name. The name must be locally unique and can be changed. others_per_sec (int): The number of other requests processed per second. - usec_per_other_op (int): The average time it takes the pod to process an I/O other request, measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + usec_per_other_op (int): The average time it takes the pod to process an I/O other request, measured in microseconds. """ if bytes_per_mirrored_write is not None: self.bytes_per_mirrored_write = bytes_per_mirrored_write diff --git a/pypureclient/flasharray/FA_2_15/models/pod_performance_by_array.py b/pypureclient/flasharray/FA_2_15/models/pod_performance_by_array.py index 43b1a4c47..60b6e9740 100644 --- a/pypureclient/flasharray/FA_2_15/models/pod_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_15/models/pod_performance_by_array.py @@ -139,37 +139,37 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. name (str): A user-specified name. The name must be locally unique and can be changed. others_per_sec (int): The number of other requests processed per second. - usec_per_other_op (int): The average time it takes the pod to process an I/O other request, measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + usec_per_other_op (int): The average time it takes the pod to process an I/O other request, measured in microseconds. array (Resource): The array on which the performance metrics were recorded. """ if bytes_per_mirrored_write is not None: diff --git a/pypureclient/flasharray/FA_2_15/models/resource_performance.py b/pypureclient/flasharray/FA_2_15/models/resource_performance.py index 857bea8d7..05beea4e1 100644 --- a/pypureclient/flasharray/FA_2_15/models/resource_performance.py +++ b/pypureclient/flasharray/FA_2_15/models/resource_performance.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_15/models/resource_performance_by_array.py b/pypureclient/flasharray/FA_2_15/models/resource_performance_by_array.py index 5c5f9482d..c17ede169 100644 --- a/pypureclient/flasharray/FA_2_15/models/resource_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_15/models/resource_performance_by_array.py @@ -133,30 +133,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_15/models/resource_performance_no_id.py b/pypureclient/flasharray/FA_2_15/models/resource_performance_no_id.py index e245d6120..8b1323f75 100644 --- a/pypureclient/flasharray/FA_2_15/models/resource_performance_no_id.py +++ b/pypureclient/flasharray/FA_2_15/models/resource_performance_no_id.py @@ -127,30 +127,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_15/models/resource_performance_no_id_by_array.py b/pypureclient/flasharray/FA_2_15/models/resource_performance_no_id_by_array.py index 60b02e812..e326f015f 100644 --- a/pypureclient/flasharray/FA_2_15/models/resource_performance_no_id_by_array.py +++ b/pypureclient/flasharray/FA_2_15/models/resource_performance_no_id_by_array.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_15/models/volume_group_performance.py b/pypureclient/flasharray/FA_2_15/models/volume_group_performance.py index 934fe4345..b792f1e5a 100644 --- a/pypureclient/flasharray/FA_2_15/models/volume_group_performance.py +++ b/pypureclient/flasharray/FA_2_15/models/volume_group_performance.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_15/models/volume_performance.py b/pypureclient/flasharray/FA_2_15/models/volume_performance.py index 97219e37f..8c6980650 100644 --- a/pypureclient/flasharray/FA_2_15/models/volume_performance.py +++ b/pypureclient/flasharray/FA_2_15/models/volume_performance.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_15/models/volume_performance_by_array.py b/pypureclient/flasharray/FA_2_15/models/volume_performance_by_array.py index becb3ce19..50df0bda1 100644 --- a/pypureclient/flasharray/FA_2_15/models/volume_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_15/models/volume_performance_by_array.py @@ -133,30 +133,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_16/models/array_performance.py b/pypureclient/flasharray/FA_2_16/models/array_performance.py index 13b293650..89a596279 100644 --- a/pypureclient/flasharray/FA_2_16/models/array_performance.py +++ b/pypureclient/flasharray/FA_2_16/models/array_performance.py @@ -142,38 +142,38 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. name (str): A locally unique, system-generated name. The name cannot be modified. queue_depth (int): Deprecated. The number displayed here may not be accurate and in later versions of the product this field will always display `null`. Instead, use `queue_usec_per_mirrored_write_op`, `queue_usec_per_read_op`, and `queue_usec_per_write_op` fields to measure IO queuing. - local_queue_usec_per_op (int): Average local queue time for both read and write operations, measured in microseconds. - usec_per_other_op (int): The average time it takes the array to process an I/O other request, measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + local_queue_usec_per_op (int): Deprecated. The number displayed here may not be accurate and in later versions of the product this field will always display `null`. Instead, use `queue_usec_per_mirrored_write_op`, `queue_usec_per_read_op`, and `queue_usec_per_write_op` fields to measure IO queuing. + usec_per_other_op (int): The average time it takes the array to process an I/O other request, measured in microseconds. others_per_sec (int): The number of other requests processed per second. """ if bytes_per_mirrored_write is not None: diff --git a/pypureclient/flasharray/FA_2_16/models/directory_performance.py b/pypureclient/flasharray/FA_2_16/models/directory_performance.py index 9aefd7b94..0003b9436 100644 --- a/pypureclient/flasharray/FA_2_16/models/directory_performance.py +++ b/pypureclient/flasharray/FA_2_16/models/directory_performance.py @@ -94,9 +94,9 @@ def __init__( read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_other_op (int): The average time it takes the array to process an I/O other request, measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + usec_per_other_op (int): The average time it takes the array to process an I/O other request, measured in microseconds. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. """ diff --git a/pypureclient/flasharray/FA_2_16/models/host_group_performance.py b/pypureclient/flasharray/FA_2_16/models/host_group_performance.py index fc5b85c63..2715149e2 100644 --- a/pypureclient/flasharray/FA_2_16/models/host_group_performance.py +++ b/pypureclient/flasharray/FA_2_16/models/host_group_performance.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_16/models/host_group_performance_by_array.py b/pypureclient/flasharray/FA_2_16/models/host_group_performance_by_array.py index a4826eb7c..987879c0d 100644 --- a/pypureclient/flasharray/FA_2_16/models/host_group_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_16/models/host_group_performance_by_array.py @@ -133,30 +133,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_16/models/host_performance.py b/pypureclient/flasharray/FA_2_16/models/host_performance.py index 33ad6f632..5fb55d62b 100644 --- a/pypureclient/flasharray/FA_2_16/models/host_performance.py +++ b/pypureclient/flasharray/FA_2_16/models/host_performance.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_16/models/host_performance_by_array.py b/pypureclient/flasharray/FA_2_16/models/host_performance_by_array.py index 3c57d8322..46677ed35 100644 --- a/pypureclient/flasharray/FA_2_16/models/host_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_16/models/host_performance_by_array.py @@ -133,30 +133,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_16/models/performance.py b/pypureclient/flasharray/FA_2_16/models/performance.py index 8bfc5eb11..a498f9445 100644 --- a/pypureclient/flasharray/FA_2_16/models/performance.py +++ b/pypureclient/flasharray/FA_2_16/models/performance.py @@ -124,30 +124,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_16/models/pod_array_status.py b/pypureclient/flasharray/FA_2_16/models/pod_array_status.py index b643e8767..6e66e0f96 100644 --- a/pypureclient/flasharray/FA_2_16/models/pod_array_status.py +++ b/pypureclient/flasharray/FA_2_16/models/pod_array_status.py @@ -70,7 +70,7 @@ def __init__( mediator_status (str): The status of the mediator, which determines whether it is available to mediate a high availability event. Valid values are `flummoxed`, `online`, `unknown`, and `unreachable`. Only mediators in the `online` status can mediate high availability events. If set to `flummoxed`, the array can reach a mediator, but it is talking to the wrong one. Verify that the DNS in the environment is properly configured. This status might also appear if the pod has been offline on one array for an extended period of time and the peer array is unreachable. If set to `online`, the array is successfully communicating with the mediator, and the mediator is available to mediate a high availability event. If set to `unreachable`, the array cannot reach the mediator, either due to network issues or because the mediator is down. When a mediator is unreachable, synchronous replication continues to function provided all arrays are healthy and communicating, but a high availability event without mediator access can result in an outage. pre_elected (bool): If set to `true`, the array has been pre-elected to remain online in the rare event that the mediator is inaccessible on both arrays within the stretched pod, and then later, the arrays within the stretched pod become disconnected from each other. If set to `false`, either the array has been pre-elected to remain offline while its peer array remains online, or pre-election is not in effect. One and only one array within each pod is pre-elected at a given point in time, so while a pre-elected array is keeping the pod online, the pod on its non-elected peer array remains offline during the communication failure. Users cannot pre-elect arrays. progress (float): The percentage progress of the pod resyncing process for this array. The percentage is displayed as a decimal value, starting at 0.00 and ending at 1.00. - status (str): The status of the array within the stretched pod. Valid values are `offline`, `online`, `resyncing`, `suspended`, and `unknown`. If set to `offline`, the array is experiencing problems and may not have the latest pod data. The array cannot handle I/O to the pod and cannot take over during a high availability event. If set to `online`, the array is online and has the latest pod data. The array can handle I/O to the pod and take over during a high availability event. If set to `suspended`, the array is experiencing a short connection glitch of the pod. This is a temporary status and would transition to either `online` or `offline` soon. If set to `resyncing`, the array is actively getting the latest pod data so that it becomes fully synchronized with its peer array. During the resyncing process, the array cannot handle I/O to the pod. Once the arrays are fully synchronized, the array changes to `online` status. If set to `unknown`, the status of the peer array is unknown because this array is offline and cannot determine the state of the pod on the peer array. Only the peer array can ever be in unknown status; this unknown status is unique to the local array and will differ when viewed from its peer array. + status (str): The status of the array within the stretched pod. Valid values are `offline`, `online`, `resyncing`, `suspended`, and `unknown`. If set to `offline`, the array is experiencing problems and may not have the latest pod data. The array cannot handle I/O to the pod and cannot take over during a high availability event. If set to `online`, the array is online and has the latest pod data. The array can handle I/O to the pod and take over during a high availability event. If set to `suspended`, the array is experiencing a short connection glitch of the pod. This is a temporary status and would transition to either `online` or `offline` soon. `suspended` is a new status that is exposed, starting from version 6.6.0. If set to `resyncing`, the array is actively getting the latest pod data so that it becomes fully synchronized with its peer array. During the resyncing process, the array cannot handle I/O to the pod. Once the arrays are fully synchronized, the array changes to `online` status. If set to `unknown`, the status of the peer array is unknown because this array is offline and cannot determine the state of the pod on the peer array. Only the peer array can ever be in unknown status; this unknown status is unique to the local array and will differ when viewed from its peer array. """ if id is not None: self.id = id diff --git a/pypureclient/flasharray/FA_2_16/models/pod_performance.py b/pypureclient/flasharray/FA_2_16/models/pod_performance.py index db4469e19..9b45349c5 100644 --- a/pypureclient/flasharray/FA_2_16/models/pod_performance.py +++ b/pypureclient/flasharray/FA_2_16/models/pod_performance.py @@ -136,37 +136,37 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. name (str): A user-specified name. The name must be locally unique and can be changed. others_per_sec (int): The number of other requests processed per second. - usec_per_other_op (int): The average time it takes the pod to process an I/O other request, measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + usec_per_other_op (int): The average time it takes the pod to process an I/O other request, measured in microseconds. """ if bytes_per_mirrored_write is not None: self.bytes_per_mirrored_write = bytes_per_mirrored_write diff --git a/pypureclient/flasharray/FA_2_16/models/pod_performance_by_array.py b/pypureclient/flasharray/FA_2_16/models/pod_performance_by_array.py index a39aa0270..9c7afc232 100644 --- a/pypureclient/flasharray/FA_2_16/models/pod_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_16/models/pod_performance_by_array.py @@ -139,37 +139,37 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. name (str): A user-specified name. The name must be locally unique and can be changed. others_per_sec (int): The number of other requests processed per second. - usec_per_other_op (int): The average time it takes the pod to process an I/O other request, measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + usec_per_other_op (int): The average time it takes the pod to process an I/O other request, measured in microseconds. array (Resource): The array on which the performance metrics were recorded. """ if bytes_per_mirrored_write is not None: diff --git a/pypureclient/flasharray/FA_2_16/models/resource_performance.py b/pypureclient/flasharray/FA_2_16/models/resource_performance.py index 041d9d127..bf5087953 100644 --- a/pypureclient/flasharray/FA_2_16/models/resource_performance.py +++ b/pypureclient/flasharray/FA_2_16/models/resource_performance.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_16/models/resource_performance_by_array.py b/pypureclient/flasharray/FA_2_16/models/resource_performance_by_array.py index 65c24c856..03eee5fd3 100644 --- a/pypureclient/flasharray/FA_2_16/models/resource_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_16/models/resource_performance_by_array.py @@ -133,30 +133,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_16/models/resource_performance_no_id.py b/pypureclient/flasharray/FA_2_16/models/resource_performance_no_id.py index 5de6d4b67..1faad84b5 100644 --- a/pypureclient/flasharray/FA_2_16/models/resource_performance_no_id.py +++ b/pypureclient/flasharray/FA_2_16/models/resource_performance_no_id.py @@ -127,30 +127,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_16/models/resource_performance_no_id_by_array.py b/pypureclient/flasharray/FA_2_16/models/resource_performance_no_id_by_array.py index e69ff1ab9..b405c624c 100644 --- a/pypureclient/flasharray/FA_2_16/models/resource_performance_no_id_by_array.py +++ b/pypureclient/flasharray/FA_2_16/models/resource_performance_no_id_by_array.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_16/models/volume_group_performance.py b/pypureclient/flasharray/FA_2_16/models/volume_group_performance.py index bde81ec43..477d3328e 100644 --- a/pypureclient/flasharray/FA_2_16/models/volume_group_performance.py +++ b/pypureclient/flasharray/FA_2_16/models/volume_group_performance.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_16/models/volume_performance.py b/pypureclient/flasharray/FA_2_16/models/volume_performance.py index 101f1c92c..c17b7840c 100644 --- a/pypureclient/flasharray/FA_2_16/models/volume_performance.py +++ b/pypureclient/flasharray/FA_2_16/models/volume_performance.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_16/models/volume_performance_by_array.py b/pypureclient/flasharray/FA_2_16/models/volume_performance_by_array.py index f15881a5f..b5b241692 100644 --- a/pypureclient/flasharray/FA_2_16/models/volume_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_16/models/volume_performance_by_array.py @@ -133,30 +133,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_17/models/array_performance.py b/pypureclient/flasharray/FA_2_17/models/array_performance.py index 7cd152e86..b1b5ed726 100644 --- a/pypureclient/flasharray/FA_2_17/models/array_performance.py +++ b/pypureclient/flasharray/FA_2_17/models/array_performance.py @@ -142,38 +142,38 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. name (str): A locally unique, system-generated name. The name cannot be modified. queue_depth (int): Deprecated. The number displayed here may not be accurate and in later versions of the product this field will always display `null`. Instead, use `queue_usec_per_mirrored_write_op`, `queue_usec_per_read_op`, and `queue_usec_per_write_op` fields to measure IO queuing. - local_queue_usec_per_op (int): Average local queue time for both read and write operations, measured in microseconds. - usec_per_other_op (int): The average time it takes the array to process an I/O other request, measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + local_queue_usec_per_op (int): Deprecated. The number displayed here may not be accurate and in later versions of the product this field will always display `null`. Instead, use `queue_usec_per_mirrored_write_op`, `queue_usec_per_read_op`, and `queue_usec_per_write_op` fields to measure IO queuing. + usec_per_other_op (int): The average time it takes the array to process an I/O other request, measured in microseconds. others_per_sec (int): The number of other requests processed per second. """ if bytes_per_mirrored_write is not None: diff --git a/pypureclient/flasharray/FA_2_17/models/directory_performance.py b/pypureclient/flasharray/FA_2_17/models/directory_performance.py index d9fb62961..ec093b8f8 100644 --- a/pypureclient/flasharray/FA_2_17/models/directory_performance.py +++ b/pypureclient/flasharray/FA_2_17/models/directory_performance.py @@ -94,9 +94,9 @@ def __init__( read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_other_op (int): The average time it takes the array to process an I/O other request, measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + usec_per_other_op (int): The average time it takes the array to process an I/O other request, measured in microseconds. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. """ diff --git a/pypureclient/flasharray/FA_2_17/models/host_group_performance.py b/pypureclient/flasharray/FA_2_17/models/host_group_performance.py index ae699ae31..ca47c3463 100644 --- a/pypureclient/flasharray/FA_2_17/models/host_group_performance.py +++ b/pypureclient/flasharray/FA_2_17/models/host_group_performance.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_17/models/host_group_performance_by_array.py b/pypureclient/flasharray/FA_2_17/models/host_group_performance_by_array.py index a2743f9cb..0bf16cfaf 100644 --- a/pypureclient/flasharray/FA_2_17/models/host_group_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_17/models/host_group_performance_by_array.py @@ -133,30 +133,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_17/models/host_performance.py b/pypureclient/flasharray/FA_2_17/models/host_performance.py index d0fa3e7e1..bf878b828 100644 --- a/pypureclient/flasharray/FA_2_17/models/host_performance.py +++ b/pypureclient/flasharray/FA_2_17/models/host_performance.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_17/models/host_performance_by_array.py b/pypureclient/flasharray/FA_2_17/models/host_performance_by_array.py index cb3cb7c98..79c8d4b4d 100644 --- a/pypureclient/flasharray/FA_2_17/models/host_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_17/models/host_performance_by_array.py @@ -133,30 +133,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_17/models/performance.py b/pypureclient/flasharray/FA_2_17/models/performance.py index 63f4ca0bf..256f5682a 100644 --- a/pypureclient/flasharray/FA_2_17/models/performance.py +++ b/pypureclient/flasharray/FA_2_17/models/performance.py @@ -124,30 +124,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_17/models/pod_array_status.py b/pypureclient/flasharray/FA_2_17/models/pod_array_status.py index bae7c9717..d9e6d9b1f 100644 --- a/pypureclient/flasharray/FA_2_17/models/pod_array_status.py +++ b/pypureclient/flasharray/FA_2_17/models/pod_array_status.py @@ -70,7 +70,7 @@ def __init__( mediator_status (str): The status of the mediator, which determines whether it is available to mediate a high availability event. Valid values are `flummoxed`, `online`, `unknown`, and `unreachable`. Only mediators in the `online` status can mediate high availability events. If set to `flummoxed`, the array can reach a mediator, but it is talking to the wrong one. Verify that the DNS in the environment is properly configured. This status might also appear if the pod has been offline on one array for an extended period of time and the peer array is unreachable. If set to `online`, the array is successfully communicating with the mediator, and the mediator is available to mediate a high availability event. If set to `unreachable`, the array cannot reach the mediator, either due to network issues or because the mediator is down. When a mediator is unreachable, synchronous replication continues to function provided all arrays are healthy and communicating, but a high availability event without mediator access can result in an outage. pre_elected (bool): If set to `true`, the array has been pre-elected to remain online in the rare event that the mediator is inaccessible on both arrays within the stretched pod, and then later, the arrays within the stretched pod become disconnected from each other. If set to `false`, either the array has been pre-elected to remain offline while its peer array remains online, or pre-election is not in effect. One and only one array within each pod is pre-elected at a given point in time, so while a pre-elected array is keeping the pod online, the pod on its non-elected peer array remains offline during the communication failure. Users cannot pre-elect arrays. progress (float): The percentage progress of the pod resyncing process for this array. The percentage is displayed as a decimal value, starting at 0.00 and ending at 1.00. - status (str): The status of the array within the stretched pod. Valid values are `offline`, `online`, `resyncing`, `suspended`, and `unknown`. If set to `offline`, the array is experiencing problems and may not have the latest pod data. The array cannot handle I/O to the pod and cannot take over during a high availability event. If set to `online`, the array is online and has the latest pod data. The array can handle I/O to the pod and take over during a high availability event. If set to `suspended`, the array is experiencing a short connection glitch of the pod. This is a temporary status and would transition to either `online` or `offline` soon. If set to `resyncing`, the array is actively getting the latest pod data so that it becomes fully synchronized with its peer array. During the resyncing process, the array cannot handle I/O to the pod. Once the arrays are fully synchronized, the array changes to `online` status. If set to `unknown`, the status of the peer array is unknown because this array is offline and cannot determine the state of the pod on the peer array. Only the peer array can ever be in unknown status; this unknown status is unique to the local array and will differ when viewed from its peer array. + status (str): The status of the array within the stretched pod. Valid values are `offline`, `online`, `resyncing`, `suspended`, and `unknown`. If set to `offline`, the array is experiencing problems and may not have the latest pod data. The array cannot handle I/O to the pod and cannot take over during a high availability event. If set to `online`, the array is online and has the latest pod data. The array can handle I/O to the pod and take over during a high availability event. If set to `suspended`, the array is experiencing a short connection glitch of the pod. This is a temporary status and would transition to either `online` or `offline` soon. `suspended` is a new status that is exposed, starting from version 6.6.0. If set to `resyncing`, the array is actively getting the latest pod data so that it becomes fully synchronized with its peer array. During the resyncing process, the array cannot handle I/O to the pod. Once the arrays are fully synchronized, the array changes to `online` status. If set to `unknown`, the status of the peer array is unknown because this array is offline and cannot determine the state of the pod on the peer array. Only the peer array can ever be in unknown status; this unknown status is unique to the local array and will differ when viewed from its peer array. """ if id is not None: self.id = id diff --git a/pypureclient/flasharray/FA_2_17/models/pod_performance.py b/pypureclient/flasharray/FA_2_17/models/pod_performance.py index 16fa4d3d0..49407b5d2 100644 --- a/pypureclient/flasharray/FA_2_17/models/pod_performance.py +++ b/pypureclient/flasharray/FA_2_17/models/pod_performance.py @@ -136,37 +136,37 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. name (str): A user-specified name. The name must be locally unique and can be changed. others_per_sec (int): The number of other requests processed per second. - usec_per_other_op (int): The average time it takes the pod to process an I/O other request, measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + usec_per_other_op (int): The average time it takes the pod to process an I/O other request, measured in microseconds. """ if bytes_per_mirrored_write is not None: self.bytes_per_mirrored_write = bytes_per_mirrored_write diff --git a/pypureclient/flasharray/FA_2_17/models/pod_performance_by_array.py b/pypureclient/flasharray/FA_2_17/models/pod_performance_by_array.py index a2124e018..0aa2dc119 100644 --- a/pypureclient/flasharray/FA_2_17/models/pod_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_17/models/pod_performance_by_array.py @@ -139,37 +139,37 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. name (str): A user-specified name. The name must be locally unique and can be changed. others_per_sec (int): The number of other requests processed per second. - usec_per_other_op (int): The average time it takes the pod to process an I/O other request, measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + usec_per_other_op (int): The average time it takes the pod to process an I/O other request, measured in microseconds. array (Resource): The array on which the performance metrics were recorded. """ if bytes_per_mirrored_write is not None: diff --git a/pypureclient/flasharray/FA_2_17/models/resource_performance.py b/pypureclient/flasharray/FA_2_17/models/resource_performance.py index 0c2247d9f..88399dcc7 100644 --- a/pypureclient/flasharray/FA_2_17/models/resource_performance.py +++ b/pypureclient/flasharray/FA_2_17/models/resource_performance.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_17/models/resource_performance_by_array.py b/pypureclient/flasharray/FA_2_17/models/resource_performance_by_array.py index 64a752759..ecd4d371c 100644 --- a/pypureclient/flasharray/FA_2_17/models/resource_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_17/models/resource_performance_by_array.py @@ -133,30 +133,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_17/models/resource_performance_no_id.py b/pypureclient/flasharray/FA_2_17/models/resource_performance_no_id.py index 8301714bb..f7a75b9df 100644 --- a/pypureclient/flasharray/FA_2_17/models/resource_performance_no_id.py +++ b/pypureclient/flasharray/FA_2_17/models/resource_performance_no_id.py @@ -127,30 +127,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_17/models/resource_performance_no_id_by_array.py b/pypureclient/flasharray/FA_2_17/models/resource_performance_no_id_by_array.py index 158f32ae4..65e705992 100644 --- a/pypureclient/flasharray/FA_2_17/models/resource_performance_no_id_by_array.py +++ b/pypureclient/flasharray/FA_2_17/models/resource_performance_no_id_by_array.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_17/models/volume_group_performance.py b/pypureclient/flasharray/FA_2_17/models/volume_group_performance.py index 24643fef7..1011b4aba 100644 --- a/pypureclient/flasharray/FA_2_17/models/volume_group_performance.py +++ b/pypureclient/flasharray/FA_2_17/models/volume_group_performance.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_17/models/volume_performance.py b/pypureclient/flasharray/FA_2_17/models/volume_performance.py index d818feee2..302a6e9f3 100644 --- a/pypureclient/flasharray/FA_2_17/models/volume_performance.py +++ b/pypureclient/flasharray/FA_2_17/models/volume_performance.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_17/models/volume_performance_by_array.py b/pypureclient/flasharray/FA_2_17/models/volume_performance_by_array.py index bbadc65cd..79a01d84b 100644 --- a/pypureclient/flasharray/FA_2_17/models/volume_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_17/models/volume_performance_by_array.py @@ -133,30 +133,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_19/models/array_performance.py b/pypureclient/flasharray/FA_2_19/models/array_performance.py index 00f8cbc5c..e2861f08b 100644 --- a/pypureclient/flasharray/FA_2_19/models/array_performance.py +++ b/pypureclient/flasharray/FA_2_19/models/array_performance.py @@ -142,38 +142,38 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. name (str): A locally unique, system-generated name. The name cannot be modified. queue_depth (int): Deprecated. The number displayed here may not be accurate and in later versions of the product this field will always display `null`. Instead, use `queue_usec_per_mirrored_write_op`, `queue_usec_per_read_op`, and `queue_usec_per_write_op` fields to measure IO queuing. - local_queue_usec_per_op (int): Average local queue time for both read and write operations, measured in microseconds. - usec_per_other_op (int): The average time it takes the array to process an I/O other request, measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + local_queue_usec_per_op (int): Deprecated. The number displayed here may not be accurate and in later versions of the product this field will always display `null`. Instead, use `queue_usec_per_mirrored_write_op`, `queue_usec_per_read_op`, and `queue_usec_per_write_op` fields to measure IO queuing. + usec_per_other_op (int): The average time it takes the array to process an I/O other request, measured in microseconds. others_per_sec (int): The number of other requests processed per second. """ if bytes_per_mirrored_write is not None: diff --git a/pypureclient/flasharray/FA_2_19/models/array_performance_by_link.py b/pypureclient/flasharray/FA_2_19/models/array_performance_by_link.py index 473e1febd..d9cb9bc0e 100644 --- a/pypureclient/flasharray/FA_2_19/models/array_performance_by_link.py +++ b/pypureclient/flasharray/FA_2_19/models/array_performance_by_link.py @@ -145,38 +145,38 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. name (str): A locally unique, system-generated name. The name cannot be modified. queue_depth (int): Deprecated. The number displayed here may not be accurate and in later versions of the product this field will always display `null`. Instead, use `queue_usec_per_mirrored_write_op`, `queue_usec_per_read_op`, and `queue_usec_per_write_op` fields to measure IO queuing. - local_queue_usec_per_op (int): Average local queue time for both read and write operations, measured in microseconds. - usec_per_other_op (int): The average time it takes the array to process an I/O other request, measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + local_queue_usec_per_op (int): Deprecated. The number displayed here may not be accurate and in later versions of the product this field will always display `null`. Instead, use `queue_usec_per_mirrored_write_op`, `queue_usec_per_read_op`, and `queue_usec_per_write_op` fields to measure IO queuing. + usec_per_other_op (int): The average time it takes the array to process an I/O other request, measured in microseconds. others_per_sec (int): The number of other requests processed per second. link (list[Resource]): List of IDs and array names for the link """ diff --git a/pypureclient/flasharray/FA_2_19/models/directory_performance.py b/pypureclient/flasharray/FA_2_19/models/directory_performance.py index ae81a7ac5..95702eb95 100644 --- a/pypureclient/flasharray/FA_2_19/models/directory_performance.py +++ b/pypureclient/flasharray/FA_2_19/models/directory_performance.py @@ -94,9 +94,9 @@ def __init__( read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_other_op (int): The average time it takes the array to process an I/O other request, measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + usec_per_other_op (int): The average time it takes the array to process an I/O other request, measured in microseconds. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. """ diff --git a/pypureclient/flasharray/FA_2_19/models/host_group_performance.py b/pypureclient/flasharray/FA_2_19/models/host_group_performance.py index 4db73588f..a415edd7a 100644 --- a/pypureclient/flasharray/FA_2_19/models/host_group_performance.py +++ b/pypureclient/flasharray/FA_2_19/models/host_group_performance.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_19/models/host_group_performance_by_array.py b/pypureclient/flasharray/FA_2_19/models/host_group_performance_by_array.py index 1be1cae17..da056a3e3 100644 --- a/pypureclient/flasharray/FA_2_19/models/host_group_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_19/models/host_group_performance_by_array.py @@ -133,30 +133,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_19/models/host_performance.py b/pypureclient/flasharray/FA_2_19/models/host_performance.py index 33dcba2bb..973ebd80a 100644 --- a/pypureclient/flasharray/FA_2_19/models/host_performance.py +++ b/pypureclient/flasharray/FA_2_19/models/host_performance.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_19/models/host_performance_by_array.py b/pypureclient/flasharray/FA_2_19/models/host_performance_by_array.py index 04bdbbfe3..b471ea5a9 100644 --- a/pypureclient/flasharray/FA_2_19/models/host_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_19/models/host_performance_by_array.py @@ -133,30 +133,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_19/models/performance.py b/pypureclient/flasharray/FA_2_19/models/performance.py index 0ca9a713f..7a22012d8 100644 --- a/pypureclient/flasharray/FA_2_19/models/performance.py +++ b/pypureclient/flasharray/FA_2_19/models/performance.py @@ -124,30 +124,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_19/models/pod_array_status.py b/pypureclient/flasharray/FA_2_19/models/pod_array_status.py index c679b512e..bc6730dcf 100644 --- a/pypureclient/flasharray/FA_2_19/models/pod_array_status.py +++ b/pypureclient/flasharray/FA_2_19/models/pod_array_status.py @@ -70,7 +70,7 @@ def __init__( mediator_status (str): The status of the mediator, which determines whether it is available to mediate a high availability event. Valid values are `flummoxed`, `online`, `unknown`, and `unreachable`. Only mediators in the `online` status can mediate high availability events. If set to `flummoxed`, the array can reach a mediator, but it is talking to the wrong one. Verify that the DNS in the environment is properly configured. This status might also appear if the pod has been offline on one array for an extended period of time and the peer array is unreachable. If set to `online`, the array is successfully communicating with the mediator, and the mediator is available to mediate a high availability event. If set to `unreachable`, the array cannot reach the mediator, either due to network issues or because the mediator is down. When a mediator is unreachable, synchronous replication continues to function provided all arrays are healthy and communicating, but a high availability event without mediator access can result in an outage. pre_elected (bool): If set to `true`, the array has been pre-elected to remain online in the rare event that the mediator is inaccessible on both arrays within the stretched pod, and then later, the arrays within the stretched pod become disconnected from each other. If set to `false`, either the array has been pre-elected to remain offline while its peer array remains online, or pre-election is not in effect. One and only one array within each pod is pre-elected at a given point in time, so while a pre-elected array is keeping the pod online, the pod on its non-elected peer array remains offline during the communication failure. Users cannot pre-elect arrays. progress (float): The percentage progress of the pod resyncing process for this array. The percentage is displayed as a decimal value, starting at 0.00 and ending at 1.00. - status (str): The status of the array within the stretched pod. Valid values are `offline`, `online`, `resyncing`, `suspended`, and `unknown`. If set to `offline`, the array is experiencing problems and may not have the latest pod data. The array cannot handle I/O to the pod and cannot take over during a high availability event. If set to `online`, the array is online and has the latest pod data. The array can handle I/O to the pod and take over during a high availability event. If set to `suspended`, the array is experiencing a short connection glitch of the pod. This is a temporary status and would transition to either `online` or `offline` soon. If set to `resyncing`, the array is actively getting the latest pod data so that it becomes fully synchronized with its peer array. During the resyncing process, the array cannot handle I/O to the pod. Once the arrays are fully synchronized, the array changes to `online` status. If set to `unknown`, the status of the peer array is unknown because this array is offline and cannot determine the state of the pod on the peer array. Only the peer array can ever be in unknown status; this unknown status is unique to the local array and will differ when viewed from its peer array. + status (str): The status of the array within the stretched pod. Valid values are `offline`, `online`, `resyncing`, `suspended`, and `unknown`. If set to `offline`, the array is experiencing problems and may not have the latest pod data. The array cannot handle I/O to the pod and cannot take over during a high availability event. If set to `online`, the array is online and has the latest pod data. The array can handle I/O to the pod and take over during a high availability event. If set to `suspended`, the array is experiencing a short connection glitch of the pod. This is a temporary status and would transition to either `online` or `offline` soon. `suspended` is a new status that is exposed, starting from version 6.6.0. If set to `resyncing`, the array is actively getting the latest pod data so that it becomes fully synchronized with its peer array. During the resyncing process, the array cannot handle I/O to the pod. Once the arrays are fully synchronized, the array changes to `online` status. If set to `unknown`, the status of the peer array is unknown because this array is offline and cannot determine the state of the pod on the peer array. Only the peer array can ever be in unknown status; this unknown status is unique to the local array and will differ when viewed from its peer array. """ if id is not None: self.id = id diff --git a/pypureclient/flasharray/FA_2_19/models/pod_performance.py b/pypureclient/flasharray/FA_2_19/models/pod_performance.py index 3ad744793..0ace47af8 100644 --- a/pypureclient/flasharray/FA_2_19/models/pod_performance.py +++ b/pypureclient/flasharray/FA_2_19/models/pod_performance.py @@ -136,37 +136,37 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. name (str): A user-specified name. The name must be locally unique and can be changed. others_per_sec (int): The number of other requests processed per second. - usec_per_other_op (int): The average time it takes the pod to process an I/O other request, measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + usec_per_other_op (int): The average time it takes the pod to process an I/O other request, measured in microseconds. """ if bytes_per_mirrored_write is not None: self.bytes_per_mirrored_write = bytes_per_mirrored_write diff --git a/pypureclient/flasharray/FA_2_19/models/pod_performance_by_array.py b/pypureclient/flasharray/FA_2_19/models/pod_performance_by_array.py index ed43bd371..754714452 100644 --- a/pypureclient/flasharray/FA_2_19/models/pod_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_19/models/pod_performance_by_array.py @@ -139,37 +139,37 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. name (str): A user-specified name. The name must be locally unique and can be changed. others_per_sec (int): The number of other requests processed per second. - usec_per_other_op (int): The average time it takes the pod to process an I/O other request, measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + usec_per_other_op (int): The average time it takes the pod to process an I/O other request, measured in microseconds. array (Resource): The array on which the performance metrics were recorded. """ if bytes_per_mirrored_write is not None: diff --git a/pypureclient/flasharray/FA_2_19/models/resource_performance.py b/pypureclient/flasharray/FA_2_19/models/resource_performance.py index 3d745a485..8954b2e63 100644 --- a/pypureclient/flasharray/FA_2_19/models/resource_performance.py +++ b/pypureclient/flasharray/FA_2_19/models/resource_performance.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_19/models/resource_performance_by_array.py b/pypureclient/flasharray/FA_2_19/models/resource_performance_by_array.py index 0405c4e34..1cffef474 100644 --- a/pypureclient/flasharray/FA_2_19/models/resource_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_19/models/resource_performance_by_array.py @@ -133,30 +133,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_19/models/resource_performance_no_id.py b/pypureclient/flasharray/FA_2_19/models/resource_performance_no_id.py index 08419265c..fa56de2f9 100644 --- a/pypureclient/flasharray/FA_2_19/models/resource_performance_no_id.py +++ b/pypureclient/flasharray/FA_2_19/models/resource_performance_no_id.py @@ -127,30 +127,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_19/models/resource_performance_no_id_by_array.py b/pypureclient/flasharray/FA_2_19/models/resource_performance_no_id_by_array.py index b33538671..ebb548d02 100644 --- a/pypureclient/flasharray/FA_2_19/models/resource_performance_no_id_by_array.py +++ b/pypureclient/flasharray/FA_2_19/models/resource_performance_no_id_by_array.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_19/models/volume_group_performance.py b/pypureclient/flasharray/FA_2_19/models/volume_group_performance.py index 93a4c4b1f..9f8b0d1be 100644 --- a/pypureclient/flasharray/FA_2_19/models/volume_group_performance.py +++ b/pypureclient/flasharray/FA_2_19/models/volume_group_performance.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_19/models/volume_performance.py b/pypureclient/flasharray/FA_2_19/models/volume_performance.py index 537caa970..bc70136f8 100644 --- a/pypureclient/flasharray/FA_2_19/models/volume_performance.py +++ b/pypureclient/flasharray/FA_2_19/models/volume_performance.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_19/models/volume_performance_by_array.py b/pypureclient/flasharray/FA_2_19/models/volume_performance_by_array.py index 378fa411c..451d79b24 100644 --- a/pypureclient/flasharray/FA_2_19/models/volume_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_19/models/volume_performance_by_array.py @@ -133,30 +133,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_2/models/array_performance.py b/pypureclient/flasharray/FA_2_2/models/array_performance.py index 43aca4ce8..23eb7abae 100644 --- a/pypureclient/flasharray/FA_2_2/models/array_performance.py +++ b/pypureclient/flasharray/FA_2_2/models/array_performance.py @@ -141,35 +141,35 @@ def __init__( Keyword args: id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. name (str): A locally unique, system-generated name. The name cannot be modified. - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. queue_depth (int): Deprecated. The number reported here may not be accurate and in later versions of the product this field will always report `null`. Instead, use `queue_usec_per_mirrored_write_op`, `queue_usec_per_read_op`, and `queue_usec_per_write_op` fields to measure IO queuing. - local_queue_usec_per_op (int): Average local queue time for both read and write operations. Measured in microseconds. - usec_per_other_op (int): The average time it takes the array to process an I/O other request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + local_queue_usec_per_op (int): Deprecated. The number reported here may not be accurate and in later versions of the product this field will always report `null`. Instead, use `queue_usec_per_mirrored_write_op`, `queue_usec_per_read_op`, and `queue_usec_per_write_op` fields to measure IO queuing. + usec_per_other_op (int): The average time it takes the array to process an I/O other request, measured in microseconds. others_per_sec (int): The number of other requests processed per second. """ if id is not None: diff --git a/pypureclient/flasharray/FA_2_2/models/host_group_performance.py b/pypureclient/flasharray/FA_2_2/models/host_group_performance.py index f7cb16255..6c18d7770 100644 --- a/pypureclient/flasharray/FA_2_2/models/host_group_performance.py +++ b/pypureclient/flasharray/FA_2_2/models/host_group_performance.py @@ -129,30 +129,30 @@ def __init__( Keyword args: id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. name (str): A user-specified name. The name must be locally unique and can be changed. - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. """ diff --git a/pypureclient/flasharray/FA_2_2/models/host_group_performance_by_array.py b/pypureclient/flasharray/FA_2_2/models/host_group_performance_by_array.py index a476310ec..ad86e2e65 100644 --- a/pypureclient/flasharray/FA_2_2/models/host_group_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_2/models/host_group_performance_by_array.py @@ -132,30 +132,30 @@ def __init__( Keyword args: id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. name (str): A user-specified name. The name must be locally unique and can be changed. - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. array (Resource): The array on which the performance metrics were recorded. diff --git a/pypureclient/flasharray/FA_2_2/models/host_performance.py b/pypureclient/flasharray/FA_2_2/models/host_performance.py index dcbd3ef4b..23552bd5f 100644 --- a/pypureclient/flasharray/FA_2_2/models/host_performance.py +++ b/pypureclient/flasharray/FA_2_2/models/host_performance.py @@ -129,30 +129,30 @@ def __init__( Keyword args: id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. name (str): A user-specified name. The name must be locally unique and can be changed. - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. """ diff --git a/pypureclient/flasharray/FA_2_2/models/host_performance_by_array.py b/pypureclient/flasharray/FA_2_2/models/host_performance_by_array.py index c60378c35..a1d4df995 100644 --- a/pypureclient/flasharray/FA_2_2/models/host_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_2/models/host_performance_by_array.py @@ -132,30 +132,30 @@ def __init__( Keyword args: id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. name (str): A user-specified name. The name must be locally unique and can be changed. - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. array (Resource): The array on which the performance metrics were recorded. diff --git a/pypureclient/flasharray/FA_2_2/models/performance.py b/pypureclient/flasharray/FA_2_2/models/performance.py index 9eb861a74..ae6151ce2 100644 --- a/pypureclient/flasharray/FA_2_2/models/performance.py +++ b/pypureclient/flasharray/FA_2_2/models/performance.py @@ -121,30 +121,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. """ diff --git a/pypureclient/flasharray/FA_2_2/models/pod_array_status.py b/pypureclient/flasharray/FA_2_2/models/pod_array_status.py index 6b2e23e38..7d724f80e 100644 --- a/pypureclient/flasharray/FA_2_2/models/pod_array_status.py +++ b/pypureclient/flasharray/FA_2_2/models/pod_array_status.py @@ -70,7 +70,7 @@ def __init__( mediator_status (str): The status of the mediator, which determines whether it is available to mediate a high availability event. Valid values are `flummoxed`, `online`, `unknown`, and `unreachable`. Only mediators in the `online` status can mediate high availability events. If set to `flummoxed`, the array can reach a mediator, but it is talking to the wrong one. Verify that the DNS in the environment is properly configured. This status might also appear if the pod has been offline on one array for an extended period of time and the peer array is unreachable. If set to `online`, the array is successfully communicating with the mediator, and the mediator is available to mediate a high availability event. If set to `unreachable`, the array cannot reach the mediator, either due to network issues or because the mediator is down. When a mediator is unreachable, synchronous replication continues to function provided all arrays are healthy and communicating, but a high availability event without mediator access can result in an outage. pre_elected (bool): If set to `true`, the array has been pre-elected to remain online in the rare event that the mediator is inaccessible on both arrays within the stretched pod, and then later, the arrays within the stretched pod become disconnected from each other. If set to `false`, either the array has been pre-elected to remain offline while its peer array remains online, or pre-election is not in effect. One and only one array within each pod is pre-elected at a given point in time, so while a pre-elected array is keeping the pod online, the pod on its non-elected peer array remains offline during the communication failure. Users cannot pre-elect arrays. progress (float): The percentage progress of the pod resyncing process for this array. The percentage is displayed as a decimal value, starting at 0.00 and ending at 1.00. - status (str): The status of the array within the stretched pod. Valid values are `offline`, `online`, `resyncing`, `suspended`, and `unknown`. If set to `offline`, the array is experiencing problems and may not have the latest pod data. The array cannot handle I/O to the pod and cannot take over during a high availability event. If set to `online`, the array is online and has the latest pod data. The array can handle I/O to the pod and take over during a high availability event. If set to `suspended`, the array is experiencing a short connection glitch of the pod. This is a temporary status and would transition to either `online` or `offline` soon. If set to `resyncing`, the array is actively getting the latest pod data so that it becomes fully synchronized with its peer array. During the resyncing process, the array cannot handle I/O to the pod. Once the arrays are fully synchronized, the array changes to `online` status. If set to `unknown`, the status of the peer array is unknown because this array is offline and cannot determine the state of the pod on the peer array. Only the peer array can ever be in unknown status; this unknown status is unique to the local array and will differ when viewed from its peer array. + status (str): The status of the array within the stretched pod. Valid values are `offline`, `online`, `resyncing`, `suspended`, and `unknown`. If set to `offline`, the array is experiencing problems and may not have the latest pod data. The array cannot handle I/O to the pod and cannot take over during a high availability event. If set to `online`, the array is online and has the latest pod data. The array can handle I/O to the pod and take over during a high availability event. If set to `suspended`, the array is experiencing a short connection glitch of the pod. This is a temporary status and would transition to either `online` or `offline` soon. `suspended` is a new status that is exposed, starting from version 6.6.0. If set to `resyncing`, the array is actively getting the latest pod data so that it becomes fully synchronized with its peer array. During the resyncing process, the array cannot handle I/O to the pod. Once the arrays are fully synchronized, the array changes to `online` status. If set to `unknown`, the status of the peer array is unknown because this array is offline and cannot determine the state of the pod on the peer array. Only the peer array can ever be in unknown status; this unknown status is unique to the local array and will differ when viewed from its peer array. """ if id is not None: self.id = id diff --git a/pypureclient/flasharray/FA_2_2/models/pod_performance.py b/pypureclient/flasharray/FA_2_2/models/pod_performance.py index aa9e7ed15..f1d30f5dd 100644 --- a/pypureclient/flasharray/FA_2_2/models/pod_performance.py +++ b/pypureclient/flasharray/FA_2_2/models/pod_performance.py @@ -129,30 +129,30 @@ def __init__( Keyword args: id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. name (str): A user-specified name. The name must be locally unique and can be changed. - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. """ diff --git a/pypureclient/flasharray/FA_2_2/models/pod_performance_by_array.py b/pypureclient/flasharray/FA_2_2/models/pod_performance_by_array.py index f91b13663..c15136ef2 100644 --- a/pypureclient/flasharray/FA_2_2/models/pod_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_2/models/pod_performance_by_array.py @@ -132,30 +132,30 @@ def __init__( Keyword args: id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. name (str): A user-specified name. The name must be locally unique and can be changed. - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. array (Resource): The array on which the performance metrics were recorded. diff --git a/pypureclient/flasharray/FA_2_2/models/resource_performance.py b/pypureclient/flasharray/FA_2_2/models/resource_performance.py index f8ae2544e..6c6eab9a7 100644 --- a/pypureclient/flasharray/FA_2_2/models/resource_performance.py +++ b/pypureclient/flasharray/FA_2_2/models/resource_performance.py @@ -129,30 +129,30 @@ def __init__( Keyword args: id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. name (str): A user-specified name. The name must be locally unique and can be changed. - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. """ diff --git a/pypureclient/flasharray/FA_2_2/models/resource_performance_by_array.py b/pypureclient/flasharray/FA_2_2/models/resource_performance_by_array.py index 1f1eec201..68288d806 100644 --- a/pypureclient/flasharray/FA_2_2/models/resource_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_2/models/resource_performance_by_array.py @@ -132,30 +132,30 @@ def __init__( Keyword args: id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. name (str): A user-specified name. The name must be locally unique and can be changed. - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. array (Resource): The array on which the performance metrics were recorded. diff --git a/pypureclient/flasharray/FA_2_2/models/resource_performance_no_id.py b/pypureclient/flasharray/FA_2_2/models/resource_performance_no_id.py index 016382560..7f30daf09 100644 --- a/pypureclient/flasharray/FA_2_2/models/resource_performance_no_id.py +++ b/pypureclient/flasharray/FA_2_2/models/resource_performance_no_id.py @@ -125,30 +125,30 @@ def __init__( """ Keyword args: name (str): A user-specified name. The name must be locally unique and can be changed. - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. """ diff --git a/pypureclient/flasharray/FA_2_2/models/resource_performance_no_id_by_array.py b/pypureclient/flasharray/FA_2_2/models/resource_performance_no_id_by_array.py index 3f14be4e6..1243116aa 100644 --- a/pypureclient/flasharray/FA_2_2/models/resource_performance_no_id_by_array.py +++ b/pypureclient/flasharray/FA_2_2/models/resource_performance_no_id_by_array.py @@ -128,30 +128,30 @@ def __init__( """ Keyword args: name (str): A user-specified name. The name must be locally unique and can be changed. - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. array (Resource): The array on which the performance metrics were recorded. diff --git a/pypureclient/flasharray/FA_2_2/models/volume_group_performance.py b/pypureclient/flasharray/FA_2_2/models/volume_group_performance.py index 2e6d72f2e..9e6455a31 100644 --- a/pypureclient/flasharray/FA_2_2/models/volume_group_performance.py +++ b/pypureclient/flasharray/FA_2_2/models/volume_group_performance.py @@ -129,30 +129,30 @@ def __init__( Keyword args: id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. name (str): A user-specified name. The name must be locally unique and can be changed. - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. """ diff --git a/pypureclient/flasharray/FA_2_2/models/volume_performance.py b/pypureclient/flasharray/FA_2_2/models/volume_performance.py index dc79df5a0..687819d4e 100644 --- a/pypureclient/flasharray/FA_2_2/models/volume_performance.py +++ b/pypureclient/flasharray/FA_2_2/models/volume_performance.py @@ -129,30 +129,30 @@ def __init__( Keyword args: id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. name (str): A user-specified name. The name must be locally unique and can be changed. - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. """ diff --git a/pypureclient/flasharray/FA_2_2/models/volume_performance_by_array.py b/pypureclient/flasharray/FA_2_2/models/volume_performance_by_array.py index 2a91c9c19..7f4281409 100644 --- a/pypureclient/flasharray/FA_2_2/models/volume_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_2/models/volume_performance_by_array.py @@ -132,30 +132,30 @@ def __init__( Keyword args: id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. name (str): A user-specified name. The name must be locally unique and can be changed. - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. array (Resource): The array on which the performance metrics were recorded. diff --git a/pypureclient/flasharray/FA_2_20/models/array_performance.py b/pypureclient/flasharray/FA_2_20/models/array_performance.py index 8357c5b72..f2bb0ca4f 100644 --- a/pypureclient/flasharray/FA_2_20/models/array_performance.py +++ b/pypureclient/flasharray/FA_2_20/models/array_performance.py @@ -142,38 +142,38 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. name (str): A locally unique, system-generated name. The name cannot be modified. queue_depth (int): Deprecated. The number displayed here may not be accurate and in later versions of the product this field will always display `null`. Instead, use `queue_usec_per_mirrored_write_op`, `queue_usec_per_read_op`, and `queue_usec_per_write_op` fields to measure IO queuing. - local_queue_usec_per_op (int): Average local queue time for both read and write operations, measured in microseconds. - usec_per_other_op (int): The average time it takes the array to process an I/O other request, measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + local_queue_usec_per_op (int): Deprecated. The number displayed here may not be accurate and in later versions of the product this field will always display `null`. Instead, use `queue_usec_per_mirrored_write_op`, `queue_usec_per_read_op`, and `queue_usec_per_write_op` fields to measure IO queuing. + usec_per_other_op (int): The average time it takes the array to process an I/O other request, measured in microseconds. others_per_sec (int): The number of other requests processed per second. """ if bytes_per_mirrored_write is not None: diff --git a/pypureclient/flasharray/FA_2_20/models/array_performance_by_link.py b/pypureclient/flasharray/FA_2_20/models/array_performance_by_link.py index af742c9a5..ddd08b956 100644 --- a/pypureclient/flasharray/FA_2_20/models/array_performance_by_link.py +++ b/pypureclient/flasharray/FA_2_20/models/array_performance_by_link.py @@ -145,38 +145,38 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. name (str): A locally unique, system-generated name. The name cannot be modified. queue_depth (int): Deprecated. The number displayed here may not be accurate and in later versions of the product this field will always display `null`. Instead, use `queue_usec_per_mirrored_write_op`, `queue_usec_per_read_op`, and `queue_usec_per_write_op` fields to measure IO queuing. - local_queue_usec_per_op (int): Average local queue time for both read and write operations, measured in microseconds. - usec_per_other_op (int): The average time it takes the array to process an I/O other request, measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + local_queue_usec_per_op (int): Deprecated. The number displayed here may not be accurate and in later versions of the product this field will always display `null`. Instead, use `queue_usec_per_mirrored_write_op`, `queue_usec_per_read_op`, and `queue_usec_per_write_op` fields to measure IO queuing. + usec_per_other_op (int): The average time it takes the array to process an I/O other request, measured in microseconds. others_per_sec (int): The number of other requests processed per second. link (list[Resource]): List of IDs and array names for the link """ diff --git a/pypureclient/flasharray/FA_2_20/models/directory_performance.py b/pypureclient/flasharray/FA_2_20/models/directory_performance.py index a7573e915..1f8665e96 100644 --- a/pypureclient/flasharray/FA_2_20/models/directory_performance.py +++ b/pypureclient/flasharray/FA_2_20/models/directory_performance.py @@ -94,9 +94,9 @@ def __init__( read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_other_op (int): The average time it takes the array to process an I/O other request, measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + usec_per_other_op (int): The average time it takes the array to process an I/O other request, measured in microseconds. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. """ diff --git a/pypureclient/flasharray/FA_2_20/models/host_group_performance.py b/pypureclient/flasharray/FA_2_20/models/host_group_performance.py index 3d3a37e04..28d3c18ed 100644 --- a/pypureclient/flasharray/FA_2_20/models/host_group_performance.py +++ b/pypureclient/flasharray/FA_2_20/models/host_group_performance.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_20/models/host_group_performance_by_array.py b/pypureclient/flasharray/FA_2_20/models/host_group_performance_by_array.py index b75b9425e..55ccee436 100644 --- a/pypureclient/flasharray/FA_2_20/models/host_group_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_20/models/host_group_performance_by_array.py @@ -133,30 +133,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_20/models/host_performance.py b/pypureclient/flasharray/FA_2_20/models/host_performance.py index d2e9b7632..e016904a7 100644 --- a/pypureclient/flasharray/FA_2_20/models/host_performance.py +++ b/pypureclient/flasharray/FA_2_20/models/host_performance.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_20/models/host_performance_by_array.py b/pypureclient/flasharray/FA_2_20/models/host_performance_by_array.py index ed59e6ee6..e3498d820 100644 --- a/pypureclient/flasharray/FA_2_20/models/host_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_20/models/host_performance_by_array.py @@ -133,30 +133,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_20/models/performance.py b/pypureclient/flasharray/FA_2_20/models/performance.py index 4ebb0db61..a6328a6c4 100644 --- a/pypureclient/flasharray/FA_2_20/models/performance.py +++ b/pypureclient/flasharray/FA_2_20/models/performance.py @@ -124,30 +124,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_20/models/pod_array_status.py b/pypureclient/flasharray/FA_2_20/models/pod_array_status.py index ff47ad37c..75098d9b4 100644 --- a/pypureclient/flasharray/FA_2_20/models/pod_array_status.py +++ b/pypureclient/flasharray/FA_2_20/models/pod_array_status.py @@ -70,7 +70,7 @@ def __init__( mediator_status (str): The status of the mediator, which determines whether it is available to mediate a high availability event. Valid values are `flummoxed`, `online`, `unknown`, and `unreachable`. Only mediators in the `online` status can mediate high availability events. If set to `flummoxed`, the array can reach a mediator, but it is talking to the wrong one. Verify that the DNS in the environment is properly configured. This status might also appear if the pod has been offline on one array for an extended period of time and the peer array is unreachable. If set to `online`, the array is successfully communicating with the mediator, and the mediator is available to mediate a high availability event. If set to `unreachable`, the array cannot reach the mediator, either due to network issues or because the mediator is down. When a mediator is unreachable, synchronous replication continues to function provided all arrays are healthy and communicating, but a high availability event without mediator access can result in an outage. pre_elected (bool): If set to `true`, the array has been pre-elected to remain online in the rare event that the mediator is inaccessible on both arrays within the stretched pod, and then later, the arrays within the stretched pod become disconnected from each other. If set to `false`, either the array has been pre-elected to remain offline while its peer array remains online, or pre-election is not in effect. One and only one array within each pod is pre-elected at a given point in time, so while a pre-elected array is keeping the pod online, the pod on its non-elected peer array remains offline during the communication failure. Users cannot pre-elect arrays. progress (float): The percentage progress of the pod resyncing process for this array. The percentage is displayed as a decimal value, starting at 0.00 and ending at 1.00. - status (str): The status of the array within the stretched pod. Valid values are `offline`, `online`, `resyncing`, `suspended`, and `unknown`. If set to `offline`, the array is experiencing problems and may not have the latest pod data. The array cannot handle I/O to the pod and cannot take over during a high availability event. If set to `online`, the array is online and has the latest pod data. The array can handle I/O to the pod and take over during a high availability event. If set to `suspended`, the array is experiencing a short connection glitch of the pod. This is a temporary status and would transition to either `online` or `offline` soon. If set to `resyncing`, the array is actively getting the latest pod data so that it becomes fully synchronized with its peer array. During the resyncing process, the array cannot handle I/O to the pod. Once the arrays are fully synchronized, the array changes to `online` status. If set to `unknown`, the status of the peer array is unknown because this array is offline and cannot determine the state of the pod on the peer array. Only the peer array can ever be in unknown status; this unknown status is unique to the local array and will differ when viewed from its peer array. + status (str): The status of the array within the stretched pod. Valid values are `offline`, `online`, `resyncing`, `suspended`, and `unknown`. If set to `offline`, the array is experiencing problems and may not have the latest pod data. The array cannot handle I/O to the pod and cannot take over during a high availability event. If set to `online`, the array is online and has the latest pod data. The array can handle I/O to the pod and take over during a high availability event. If set to `suspended`, the array is experiencing a short connection glitch of the pod. This is a temporary status and would transition to either `online` or `offline` soon. `suspended` is a new status that is exposed, starting from version 6.6.0. If set to `resyncing`, the array is actively getting the latest pod data so that it becomes fully synchronized with its peer array. During the resyncing process, the array cannot handle I/O to the pod. Once the arrays are fully synchronized, the array changes to `online` status. If set to `unknown`, the status of the peer array is unknown because this array is offline and cannot determine the state of the pod on the peer array. Only the peer array can ever be in unknown status; this unknown status is unique to the local array and will differ when viewed from its peer array. """ if id is not None: self.id = id diff --git a/pypureclient/flasharray/FA_2_20/models/pod_performance.py b/pypureclient/flasharray/FA_2_20/models/pod_performance.py index feabf5ecc..649f71cbb 100644 --- a/pypureclient/flasharray/FA_2_20/models/pod_performance.py +++ b/pypureclient/flasharray/FA_2_20/models/pod_performance.py @@ -136,37 +136,37 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. name (str): A user-specified name. The name must be locally unique and can be changed. others_per_sec (int): The number of other requests processed per second. - usec_per_other_op (int): The average time it takes the pod to process an I/O other request, measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + usec_per_other_op (int): The average time it takes the pod to process an I/O other request, measured in microseconds. """ if bytes_per_mirrored_write is not None: self.bytes_per_mirrored_write = bytes_per_mirrored_write diff --git a/pypureclient/flasharray/FA_2_20/models/pod_performance_by_array.py b/pypureclient/flasharray/FA_2_20/models/pod_performance_by_array.py index 793e86483..2f731907b 100644 --- a/pypureclient/flasharray/FA_2_20/models/pod_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_20/models/pod_performance_by_array.py @@ -139,37 +139,37 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. name (str): A user-specified name. The name must be locally unique and can be changed. others_per_sec (int): The number of other requests processed per second. - usec_per_other_op (int): The average time it takes the pod to process an I/O other request, measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + usec_per_other_op (int): The average time it takes the pod to process an I/O other request, measured in microseconds. array (Resource): The array on which the performance metrics were recorded. """ if bytes_per_mirrored_write is not None: diff --git a/pypureclient/flasharray/FA_2_20/models/resource_performance.py b/pypureclient/flasharray/FA_2_20/models/resource_performance.py index c6e10c882..616dc7bf4 100644 --- a/pypureclient/flasharray/FA_2_20/models/resource_performance.py +++ b/pypureclient/flasharray/FA_2_20/models/resource_performance.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_20/models/resource_performance_by_array.py b/pypureclient/flasharray/FA_2_20/models/resource_performance_by_array.py index 2da5b83bb..69efcffec 100644 --- a/pypureclient/flasharray/FA_2_20/models/resource_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_20/models/resource_performance_by_array.py @@ -133,30 +133,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_20/models/resource_performance_no_id.py b/pypureclient/flasharray/FA_2_20/models/resource_performance_no_id.py index fdb60cb49..4d3dc6ba2 100644 --- a/pypureclient/flasharray/FA_2_20/models/resource_performance_no_id.py +++ b/pypureclient/flasharray/FA_2_20/models/resource_performance_no_id.py @@ -127,30 +127,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_20/models/resource_performance_no_id_by_array.py b/pypureclient/flasharray/FA_2_20/models/resource_performance_no_id_by_array.py index a535c321d..a0fbe8521 100644 --- a/pypureclient/flasharray/FA_2_20/models/resource_performance_no_id_by_array.py +++ b/pypureclient/flasharray/FA_2_20/models/resource_performance_no_id_by_array.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_20/models/volume_group_performance.py b/pypureclient/flasharray/FA_2_20/models/volume_group_performance.py index e202cbea7..075a3d2b0 100644 --- a/pypureclient/flasharray/FA_2_20/models/volume_group_performance.py +++ b/pypureclient/flasharray/FA_2_20/models/volume_group_performance.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_20/models/volume_performance.py b/pypureclient/flasharray/FA_2_20/models/volume_performance.py index 10ee181ac..79e1c6240 100644 --- a/pypureclient/flasharray/FA_2_20/models/volume_performance.py +++ b/pypureclient/flasharray/FA_2_20/models/volume_performance.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_20/models/volume_performance_by_array.py b/pypureclient/flasharray/FA_2_20/models/volume_performance_by_array.py index d29315a20..4dd21357c 100644 --- a/pypureclient/flasharray/FA_2_20/models/volume_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_20/models/volume_performance_by_array.py @@ -133,30 +133,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_21/models/array_performance.py b/pypureclient/flasharray/FA_2_21/models/array_performance.py index e67dd55ff..323182068 100644 --- a/pypureclient/flasharray/FA_2_21/models/array_performance.py +++ b/pypureclient/flasharray/FA_2_21/models/array_performance.py @@ -142,38 +142,38 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. name (str): A locally unique, system-generated name. The name cannot be modified. queue_depth (int): Deprecated. The number displayed here may not be accurate and in later versions of the product this field will always display `null`. Instead, use `queue_usec_per_mirrored_write_op`, `queue_usec_per_read_op`, and `queue_usec_per_write_op` fields to measure IO queuing. - local_queue_usec_per_op (int): Average local queue time for both read and write operations, measured in microseconds. - usec_per_other_op (int): The average time it takes the array to process an I/O other request, measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + local_queue_usec_per_op (int): Deprecated. The number displayed here may not be accurate and in later versions of the product this field will always display `null`. Instead, use `queue_usec_per_mirrored_write_op`, `queue_usec_per_read_op`, and `queue_usec_per_write_op` fields to measure IO queuing. + usec_per_other_op (int): The average time it takes the array to process an I/O other request, measured in microseconds. others_per_sec (int): The number of other requests processed per second. """ if bytes_per_mirrored_write is not None: diff --git a/pypureclient/flasharray/FA_2_21/models/array_performance_by_link.py b/pypureclient/flasharray/FA_2_21/models/array_performance_by_link.py index f30dd514d..c31b9697b 100644 --- a/pypureclient/flasharray/FA_2_21/models/array_performance_by_link.py +++ b/pypureclient/flasharray/FA_2_21/models/array_performance_by_link.py @@ -145,38 +145,38 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. name (str): A locally unique, system-generated name. The name cannot be modified. queue_depth (int): Deprecated. The number displayed here may not be accurate and in later versions of the product this field will always display `null`. Instead, use `queue_usec_per_mirrored_write_op`, `queue_usec_per_read_op`, and `queue_usec_per_write_op` fields to measure IO queuing. - local_queue_usec_per_op (int): Average local queue time for both read and write operations, measured in microseconds. - usec_per_other_op (int): The average time it takes the array to process an I/O other request, measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + local_queue_usec_per_op (int): Deprecated. The number displayed here may not be accurate and in later versions of the product this field will always display `null`. Instead, use `queue_usec_per_mirrored_write_op`, `queue_usec_per_read_op`, and `queue_usec_per_write_op` fields to measure IO queuing. + usec_per_other_op (int): The average time it takes the array to process an I/O other request, measured in microseconds. others_per_sec (int): The number of other requests processed per second. link (list[Resource]): List of IDs and array names for the link """ diff --git a/pypureclient/flasharray/FA_2_21/models/directory_performance.py b/pypureclient/flasharray/FA_2_21/models/directory_performance.py index 6c927626b..6330d919c 100644 --- a/pypureclient/flasharray/FA_2_21/models/directory_performance.py +++ b/pypureclient/flasharray/FA_2_21/models/directory_performance.py @@ -94,9 +94,9 @@ def __init__( read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_other_op (int): The average time it takes the array to process an I/O other request, measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + usec_per_other_op (int): The average time it takes the array to process an I/O other request, measured in microseconds. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. """ diff --git a/pypureclient/flasharray/FA_2_21/models/host_group_performance.py b/pypureclient/flasharray/FA_2_21/models/host_group_performance.py index efcc56fe6..b9825f365 100644 --- a/pypureclient/flasharray/FA_2_21/models/host_group_performance.py +++ b/pypureclient/flasharray/FA_2_21/models/host_group_performance.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_21/models/host_group_performance_by_array.py b/pypureclient/flasharray/FA_2_21/models/host_group_performance_by_array.py index ec6e68d7d..591e4fad4 100644 --- a/pypureclient/flasharray/FA_2_21/models/host_group_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_21/models/host_group_performance_by_array.py @@ -133,30 +133,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_21/models/host_performance.py b/pypureclient/flasharray/FA_2_21/models/host_performance.py index 54c129aee..d2cd7ae7e 100644 --- a/pypureclient/flasharray/FA_2_21/models/host_performance.py +++ b/pypureclient/flasharray/FA_2_21/models/host_performance.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_21/models/host_performance_by_array.py b/pypureclient/flasharray/FA_2_21/models/host_performance_by_array.py index a66f97c9b..29db090bb 100644 --- a/pypureclient/flasharray/FA_2_21/models/host_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_21/models/host_performance_by_array.py @@ -133,30 +133,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_21/models/performance.py b/pypureclient/flasharray/FA_2_21/models/performance.py index 644593d5c..93781b2a0 100644 --- a/pypureclient/flasharray/FA_2_21/models/performance.py +++ b/pypureclient/flasharray/FA_2_21/models/performance.py @@ -124,30 +124,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_21/models/pod_array_status.py b/pypureclient/flasharray/FA_2_21/models/pod_array_status.py index 077cadbf6..767aa6183 100644 --- a/pypureclient/flasharray/FA_2_21/models/pod_array_status.py +++ b/pypureclient/flasharray/FA_2_21/models/pod_array_status.py @@ -70,7 +70,7 @@ def __init__( mediator_status (str): The status of the mediator, which determines whether it is available to mediate a high availability event. Valid values are `flummoxed`, `online`, `unknown`, and `unreachable`. Only mediators in the `online` status can mediate high availability events. If set to `flummoxed`, the array can reach a mediator, but it is talking to the wrong one. Verify that the DNS in the environment is properly configured. This status might also appear if the pod has been offline on one array for an extended period of time and the peer array is unreachable. If set to `online`, the array is successfully communicating with the mediator, and the mediator is available to mediate a high availability event. If set to `unreachable`, the array cannot reach the mediator, either due to network issues or because the mediator is down. When a mediator is unreachable, synchronous replication continues to function provided all arrays are healthy and communicating, but a high availability event without mediator access can result in an outage. pre_elected (bool): If set to `true`, the array has been pre-elected to remain online in the rare event that the mediator is inaccessible on both arrays within the stretched pod, and then later, the arrays within the stretched pod become disconnected from each other. If set to `false`, either the array has been pre-elected to remain offline while its peer array remains online, or pre-election is not in effect. One and only one array within each pod is pre-elected at a given point in time, so while a pre-elected array is keeping the pod online, the pod on its non-elected peer array remains offline during the communication failure. Users cannot pre-elect arrays. progress (float): The percentage progress of the pod resyncing process for this array. The percentage is displayed as a decimal value, starting at 0.00 and ending at 1.00. - status (str): The status of the array within the stretched pod. Valid values are `offline`, `online`, `resyncing`, `suspended`, and `unknown`. If set to `offline`, the array is experiencing problems and may not have the latest pod data. The array cannot handle I/O to the pod and cannot take over during a high availability event. If set to `online`, the array is online and has the latest pod data. The array can handle I/O to the pod and take over during a high availability event. If set to `suspended`, the array is experiencing a short connection glitch of the pod. This is a temporary status and would transition to either `online` or `offline` soon. If set to `resyncing`, the array is actively getting the latest pod data so that it becomes fully synchronized with its peer array. During the resyncing process, the array cannot handle I/O to the pod. Once the arrays are fully synchronized, the array changes to `online` status. If set to `unknown`, the status of the peer array is unknown because this array is offline and cannot determine the state of the pod on the peer array. Only the peer array can ever be in unknown status; this unknown status is unique to the local array and will differ when viewed from its peer array. + status (str): The status of the array within the stretched pod. Valid values are `offline`, `online`, `resyncing`, `suspended`, and `unknown`. If set to `offline`, the array is experiencing problems and may not have the latest pod data. The array cannot handle I/O to the pod and cannot take over during a high availability event. If set to `online`, the array is online and has the latest pod data. The array can handle I/O to the pod and take over during a high availability event. If set to `suspended`, the array is experiencing a short connection glitch of the pod. This is a temporary status and would transition to either `online` or `offline` soon. `suspended` is a new status that is exposed, starting from version 6.6.0. If set to `resyncing`, the array is actively getting the latest pod data so that it becomes fully synchronized with its peer array. During the resyncing process, the array cannot handle I/O to the pod. Once the arrays are fully synchronized, the array changes to `online` status. If set to `unknown`, the status of the peer array is unknown because this array is offline and cannot determine the state of the pod on the peer array. Only the peer array can ever be in unknown status; this unknown status is unique to the local array and will differ when viewed from its peer array. """ if id is not None: self.id = id diff --git a/pypureclient/flasharray/FA_2_21/models/pod_performance.py b/pypureclient/flasharray/FA_2_21/models/pod_performance.py index cb8bc62d0..fd641b012 100644 --- a/pypureclient/flasharray/FA_2_21/models/pod_performance.py +++ b/pypureclient/flasharray/FA_2_21/models/pod_performance.py @@ -136,37 +136,37 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. name (str): A user-specified name. The name must be locally unique and can be changed. others_per_sec (int): The number of other requests processed per second. - usec_per_other_op (int): The average time it takes the pod to process an I/O other request, measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + usec_per_other_op (int): The average time it takes the pod to process an I/O other request, measured in microseconds. """ if bytes_per_mirrored_write is not None: self.bytes_per_mirrored_write = bytes_per_mirrored_write diff --git a/pypureclient/flasharray/FA_2_21/models/pod_performance_by_array.py b/pypureclient/flasharray/FA_2_21/models/pod_performance_by_array.py index b13422916..df1d3c35c 100644 --- a/pypureclient/flasharray/FA_2_21/models/pod_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_21/models/pod_performance_by_array.py @@ -139,37 +139,37 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. name (str): A user-specified name. The name must be locally unique and can be changed. others_per_sec (int): The number of other requests processed per second. - usec_per_other_op (int): The average time it takes the pod to process an I/O other request, measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + usec_per_other_op (int): The average time it takes the pod to process an I/O other request, measured in microseconds. array (Resource): The array on which the performance metrics were recorded. """ if bytes_per_mirrored_write is not None: diff --git a/pypureclient/flasharray/FA_2_21/models/resource_performance.py b/pypureclient/flasharray/FA_2_21/models/resource_performance.py index 39ac11ff0..bae064623 100644 --- a/pypureclient/flasharray/FA_2_21/models/resource_performance.py +++ b/pypureclient/flasharray/FA_2_21/models/resource_performance.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_21/models/resource_performance_by_array.py b/pypureclient/flasharray/FA_2_21/models/resource_performance_by_array.py index 045bb7571..f9f763018 100644 --- a/pypureclient/flasharray/FA_2_21/models/resource_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_21/models/resource_performance_by_array.py @@ -133,30 +133,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_21/models/resource_performance_no_id.py b/pypureclient/flasharray/FA_2_21/models/resource_performance_no_id.py index e61296b9a..95287870d 100644 --- a/pypureclient/flasharray/FA_2_21/models/resource_performance_no_id.py +++ b/pypureclient/flasharray/FA_2_21/models/resource_performance_no_id.py @@ -127,30 +127,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_21/models/resource_performance_no_id_by_array.py b/pypureclient/flasharray/FA_2_21/models/resource_performance_no_id_by_array.py index dbb4df4ab..06eadcc7d 100644 --- a/pypureclient/flasharray/FA_2_21/models/resource_performance_no_id_by_array.py +++ b/pypureclient/flasharray/FA_2_21/models/resource_performance_no_id_by_array.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_21/models/volume_group_performance.py b/pypureclient/flasharray/FA_2_21/models/volume_group_performance.py index 8c0ca63fb..57eede6df 100644 --- a/pypureclient/flasharray/FA_2_21/models/volume_group_performance.py +++ b/pypureclient/flasharray/FA_2_21/models/volume_group_performance.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_21/models/volume_performance.py b/pypureclient/flasharray/FA_2_21/models/volume_performance.py index ebd4a8cf8..51ad39f45 100644 --- a/pypureclient/flasharray/FA_2_21/models/volume_performance.py +++ b/pypureclient/flasharray/FA_2_21/models/volume_performance.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_21/models/volume_performance_by_array.py b/pypureclient/flasharray/FA_2_21/models/volume_performance_by_array.py index 68ceb93b0..1dddf9bbf 100644 --- a/pypureclient/flasharray/FA_2_21/models/volume_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_21/models/volume_performance_by_array.py @@ -133,30 +133,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_22/models/array_performance.py b/pypureclient/flasharray/FA_2_22/models/array_performance.py index 384caa13a..8323a94fd 100644 --- a/pypureclient/flasharray/FA_2_22/models/array_performance.py +++ b/pypureclient/flasharray/FA_2_22/models/array_performance.py @@ -142,38 +142,38 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. name (str): A locally unique, system-generated name. The name cannot be modified. queue_depth (int): Deprecated. The number displayed here may not be accurate and in later versions of the product this field will always display `null`. Instead, use `queue_usec_per_mirrored_write_op`, `queue_usec_per_read_op`, and `queue_usec_per_write_op` fields to measure IO queuing. - local_queue_usec_per_op (int): Average local queue time for both read and write operations, measured in microseconds. - usec_per_other_op (int): The average time it takes the array to process an I/O other request, measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + local_queue_usec_per_op (int): Deprecated. The number displayed here may not be accurate and in later versions of the product this field will always display `null`. Instead, use `queue_usec_per_mirrored_write_op`, `queue_usec_per_read_op`, and `queue_usec_per_write_op` fields to measure IO queuing. + usec_per_other_op (int): The average time it takes the array to process an I/O other request, measured in microseconds. others_per_sec (int): The number of other requests processed per second. """ if bytes_per_mirrored_write is not None: diff --git a/pypureclient/flasharray/FA_2_22/models/array_performance_by_link.py b/pypureclient/flasharray/FA_2_22/models/array_performance_by_link.py index 5a373b9db..c5579d105 100644 --- a/pypureclient/flasharray/FA_2_22/models/array_performance_by_link.py +++ b/pypureclient/flasharray/FA_2_22/models/array_performance_by_link.py @@ -145,38 +145,38 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. name (str): A locally unique, system-generated name. The name cannot be modified. queue_depth (int): Deprecated. The number displayed here may not be accurate and in later versions of the product this field will always display `null`. Instead, use `queue_usec_per_mirrored_write_op`, `queue_usec_per_read_op`, and `queue_usec_per_write_op` fields to measure IO queuing. - local_queue_usec_per_op (int): Average local queue time for both read and write operations, measured in microseconds. - usec_per_other_op (int): The average time it takes the array to process an I/O other request, measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + local_queue_usec_per_op (int): Deprecated. The number displayed here may not be accurate and in later versions of the product this field will always display `null`. Instead, use `queue_usec_per_mirrored_write_op`, `queue_usec_per_read_op`, and `queue_usec_per_write_op` fields to measure IO queuing. + usec_per_other_op (int): The average time it takes the array to process an I/O other request, measured in microseconds. others_per_sec (int): The number of other requests processed per second. link (list[Resource]): List of IDs and array names for the link """ diff --git a/pypureclient/flasharray/FA_2_22/models/directory_performance.py b/pypureclient/flasharray/FA_2_22/models/directory_performance.py index a80978c69..12fc6a729 100644 --- a/pypureclient/flasharray/FA_2_22/models/directory_performance.py +++ b/pypureclient/flasharray/FA_2_22/models/directory_performance.py @@ -94,9 +94,9 @@ def __init__( read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_other_op (int): The average time it takes the array to process an I/O other request, measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + usec_per_other_op (int): The average time it takes the array to process an I/O other request, measured in microseconds. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. """ diff --git a/pypureclient/flasharray/FA_2_22/models/host_group_performance.py b/pypureclient/flasharray/FA_2_22/models/host_group_performance.py index dbacad2fe..7bdfdd59b 100644 --- a/pypureclient/flasharray/FA_2_22/models/host_group_performance.py +++ b/pypureclient/flasharray/FA_2_22/models/host_group_performance.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_22/models/host_group_performance_by_array.py b/pypureclient/flasharray/FA_2_22/models/host_group_performance_by_array.py index 18b0a53a6..0aa2a9006 100644 --- a/pypureclient/flasharray/FA_2_22/models/host_group_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_22/models/host_group_performance_by_array.py @@ -133,30 +133,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_22/models/host_performance.py b/pypureclient/flasharray/FA_2_22/models/host_performance.py index 18fb5435d..d48f62cba 100644 --- a/pypureclient/flasharray/FA_2_22/models/host_performance.py +++ b/pypureclient/flasharray/FA_2_22/models/host_performance.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_22/models/host_performance_by_array.py b/pypureclient/flasharray/FA_2_22/models/host_performance_by_array.py index 823b5a7a6..2ee537713 100644 --- a/pypureclient/flasharray/FA_2_22/models/host_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_22/models/host_performance_by_array.py @@ -133,30 +133,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_22/models/performance.py b/pypureclient/flasharray/FA_2_22/models/performance.py index 52b76f9cc..c61331f01 100644 --- a/pypureclient/flasharray/FA_2_22/models/performance.py +++ b/pypureclient/flasharray/FA_2_22/models/performance.py @@ -124,30 +124,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_22/models/pod_array_status.py b/pypureclient/flasharray/FA_2_22/models/pod_array_status.py index 652bce471..1dd112c68 100644 --- a/pypureclient/flasharray/FA_2_22/models/pod_array_status.py +++ b/pypureclient/flasharray/FA_2_22/models/pod_array_status.py @@ -70,7 +70,7 @@ def __init__( mediator_status (str): The status of the mediator, which determines whether it is available to mediate a high availability event. Valid values are `flummoxed`, `online`, `unknown`, and `unreachable`. Only mediators in the `online` status can mediate high availability events. If set to `flummoxed`, the array can reach a mediator, but it is talking to the wrong one. Verify that the DNS in the environment is properly configured. This status might also appear if the pod has been offline on one array for an extended period of time and the peer array is unreachable. If set to `online`, the array is successfully communicating with the mediator, and the mediator is available to mediate a high availability event. If set to `unreachable`, the array cannot reach the mediator, either due to network issues or because the mediator is down. When a mediator is unreachable, synchronous replication continues to function provided all arrays are healthy and communicating, but a high availability event without mediator access can result in an outage. pre_elected (bool): If set to `true`, the array has been pre-elected to remain online in the rare event that the mediator is inaccessible on both arrays within the stretched pod, and then later, the arrays within the stretched pod become disconnected from each other. If set to `false`, either the array has been pre-elected to remain offline while its peer array remains online, or pre-election is not in effect. One and only one array within each pod is pre-elected at a given point in time, so while a pre-elected array is keeping the pod online, the pod on its non-elected peer array remains offline during the communication failure. Users cannot pre-elect arrays. progress (float): The percentage progress of the pod resyncing process for this array. The percentage is displayed as a decimal value, starting at 0.00 and ending at 1.00. - status (str): The status of the array within the stretched pod. Valid values are `offline`, `online`, `resyncing`, `suspended`, and `unknown`. If set to `offline`, the array is experiencing problems and may not have the latest pod data. The array cannot handle I/O to the pod and cannot take over during a high availability event. If set to `online`, the array is online and has the latest pod data. The array can handle I/O to the pod and take over during a high availability event. If set to `suspended`, the array is experiencing a short connection glitch of the pod. This is a temporary status and would transition to either `online` or `offline` soon. If set to `resyncing`, the array is actively getting the latest pod data so that it becomes fully synchronized with its peer array. During the resyncing process, the array cannot handle I/O to the pod. Once the arrays are fully synchronized, the array changes to `online` status. If set to `unknown`, the status of the peer array is unknown because this array is offline and cannot determine the state of the pod on the peer array. Only the peer array can ever be in unknown status; this unknown status is unique to the local array and will differ when viewed from its peer array. + status (str): The status of the array within the stretched pod. Valid values are `offline`, `online`, `resyncing`, `suspended`, and `unknown`. If set to `offline`, the array is experiencing problems and may not have the latest pod data. The array cannot handle I/O to the pod and cannot take over during a high availability event. If set to `online`, the array is online and has the latest pod data. The array can handle I/O to the pod and take over during a high availability event. If set to `suspended`, the array is experiencing a short connection glitch of the pod. This is a temporary status and would transition to either `online` or `offline` soon. `suspended` is a new status that is exposed, starting from version 6.6.0. If set to `resyncing`, the array is actively getting the latest pod data so that it becomes fully synchronized with its peer array. During the resyncing process, the array cannot handle I/O to the pod. Once the arrays are fully synchronized, the array changes to `online` status. If set to `unknown`, the status of the peer array is unknown because this array is offline and cannot determine the state of the pod on the peer array. Only the peer array can ever be in unknown status; this unknown status is unique to the local array and will differ when viewed from its peer array. """ if id is not None: self.id = id diff --git a/pypureclient/flasharray/FA_2_22/models/pod_performance.py b/pypureclient/flasharray/FA_2_22/models/pod_performance.py index 1f1334322..028fb3595 100644 --- a/pypureclient/flasharray/FA_2_22/models/pod_performance.py +++ b/pypureclient/flasharray/FA_2_22/models/pod_performance.py @@ -136,37 +136,37 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. name (str): A user-specified name. The name must be locally unique and can be changed. others_per_sec (int): The number of other requests processed per second. - usec_per_other_op (int): The average time it takes the pod to process an I/O other request, measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + usec_per_other_op (int): The average time it takes the pod to process an I/O other request, measured in microseconds. """ if bytes_per_mirrored_write is not None: self.bytes_per_mirrored_write = bytes_per_mirrored_write diff --git a/pypureclient/flasharray/FA_2_22/models/pod_performance_by_array.py b/pypureclient/flasharray/FA_2_22/models/pod_performance_by_array.py index a08bcee36..9d6acdf23 100644 --- a/pypureclient/flasharray/FA_2_22/models/pod_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_22/models/pod_performance_by_array.py @@ -139,37 +139,37 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. name (str): A user-specified name. The name must be locally unique and can be changed. others_per_sec (int): The number of other requests processed per second. - usec_per_other_op (int): The average time it takes the pod to process an I/O other request, measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + usec_per_other_op (int): The average time it takes the pod to process an I/O other request, measured in microseconds. array (Resource): The array on which the performance metrics were recorded. """ if bytes_per_mirrored_write is not None: diff --git a/pypureclient/flasharray/FA_2_22/models/resource_performance.py b/pypureclient/flasharray/FA_2_22/models/resource_performance.py index 1b6c2d3de..3b3c1a049 100644 --- a/pypureclient/flasharray/FA_2_22/models/resource_performance.py +++ b/pypureclient/flasharray/FA_2_22/models/resource_performance.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_22/models/resource_performance_by_array.py b/pypureclient/flasharray/FA_2_22/models/resource_performance_by_array.py index 57bbd52c8..bc407e7fc 100644 --- a/pypureclient/flasharray/FA_2_22/models/resource_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_22/models/resource_performance_by_array.py @@ -133,30 +133,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_22/models/resource_performance_no_id.py b/pypureclient/flasharray/FA_2_22/models/resource_performance_no_id.py index 11f7ebc7e..cf879dfef 100644 --- a/pypureclient/flasharray/FA_2_22/models/resource_performance_no_id.py +++ b/pypureclient/flasharray/FA_2_22/models/resource_performance_no_id.py @@ -127,30 +127,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_22/models/resource_performance_no_id_by_array.py b/pypureclient/flasharray/FA_2_22/models/resource_performance_no_id_by_array.py index 55024122b..b6a6cbd4a 100644 --- a/pypureclient/flasharray/FA_2_22/models/resource_performance_no_id_by_array.py +++ b/pypureclient/flasharray/FA_2_22/models/resource_performance_no_id_by_array.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_22/models/volume_group_performance.py b/pypureclient/flasharray/FA_2_22/models/volume_group_performance.py index 157383c08..ac4ece2e6 100644 --- a/pypureclient/flasharray/FA_2_22/models/volume_group_performance.py +++ b/pypureclient/flasharray/FA_2_22/models/volume_group_performance.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_22/models/volume_performance.py b/pypureclient/flasharray/FA_2_22/models/volume_performance.py index be6255227..12c2ccecf 100644 --- a/pypureclient/flasharray/FA_2_22/models/volume_performance.py +++ b/pypureclient/flasharray/FA_2_22/models/volume_performance.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_22/models/volume_performance_by_array.py b/pypureclient/flasharray/FA_2_22/models/volume_performance_by_array.py index d103c78e0..55bda658e 100644 --- a/pypureclient/flasharray/FA_2_22/models/volume_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_22/models/volume_performance_by_array.py @@ -133,30 +133,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_23/models/array_performance.py b/pypureclient/flasharray/FA_2_23/models/array_performance.py index 8ac532d08..252ef0602 100644 --- a/pypureclient/flasharray/FA_2_23/models/array_performance.py +++ b/pypureclient/flasharray/FA_2_23/models/array_performance.py @@ -142,38 +142,38 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. name (str): A locally unique, system-generated name. The name cannot be modified. queue_depth (int): Deprecated. The number displayed here may not be accurate and in later versions of the product this field will always display `null`. Instead, use `queue_usec_per_mirrored_write_op`, `queue_usec_per_read_op`, and `queue_usec_per_write_op` fields to measure IO queuing. - local_queue_usec_per_op (int): Average local queue time for both read and write operations, measured in microseconds. - usec_per_other_op (int): The average time it takes the array to process an I/O other request, measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + local_queue_usec_per_op (int): Deprecated. The number displayed here may not be accurate and in later versions of the product this field will always display `null`. Instead, use `queue_usec_per_mirrored_write_op`, `queue_usec_per_read_op`, and `queue_usec_per_write_op` fields to measure IO queuing. + usec_per_other_op (int): The average time it takes the array to process an I/O other request, measured in microseconds. others_per_sec (int): The number of other requests processed per second. """ if bytes_per_mirrored_write is not None: diff --git a/pypureclient/flasharray/FA_2_23/models/array_performance_by_link.py b/pypureclient/flasharray/FA_2_23/models/array_performance_by_link.py index 39bb923f2..b233aecdd 100644 --- a/pypureclient/flasharray/FA_2_23/models/array_performance_by_link.py +++ b/pypureclient/flasharray/FA_2_23/models/array_performance_by_link.py @@ -145,38 +145,38 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. name (str): A locally unique, system-generated name. The name cannot be modified. queue_depth (int): Deprecated. The number displayed here may not be accurate and in later versions of the product this field will always display `null`. Instead, use `queue_usec_per_mirrored_write_op`, `queue_usec_per_read_op`, and `queue_usec_per_write_op` fields to measure IO queuing. - local_queue_usec_per_op (int): Average local queue time for both read and write operations, measured in microseconds. - usec_per_other_op (int): The average time it takes the array to process an I/O other request, measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + local_queue_usec_per_op (int): Deprecated. The number displayed here may not be accurate and in later versions of the product this field will always display `null`. Instead, use `queue_usec_per_mirrored_write_op`, `queue_usec_per_read_op`, and `queue_usec_per_write_op` fields to measure IO queuing. + usec_per_other_op (int): The average time it takes the array to process an I/O other request, measured in microseconds. others_per_sec (int): The number of other requests processed per second. link (list[Resource]): List of IDs and array names for the link """ diff --git a/pypureclient/flasharray/FA_2_23/models/directory_performance.py b/pypureclient/flasharray/FA_2_23/models/directory_performance.py index f4d87e935..0619ed6b9 100644 --- a/pypureclient/flasharray/FA_2_23/models/directory_performance.py +++ b/pypureclient/flasharray/FA_2_23/models/directory_performance.py @@ -94,9 +94,9 @@ def __init__( read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_other_op (int): The average time it takes the array to process an I/O other request, measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + usec_per_other_op (int): The average time it takes the array to process an I/O other request, measured in microseconds. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. """ diff --git a/pypureclient/flasharray/FA_2_23/models/host_group_performance.py b/pypureclient/flasharray/FA_2_23/models/host_group_performance.py index e12f6467b..cf6b55ca4 100644 --- a/pypureclient/flasharray/FA_2_23/models/host_group_performance.py +++ b/pypureclient/flasharray/FA_2_23/models/host_group_performance.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_23/models/host_group_performance_by_array.py b/pypureclient/flasharray/FA_2_23/models/host_group_performance_by_array.py index ad6b5b2ae..98805cb27 100644 --- a/pypureclient/flasharray/FA_2_23/models/host_group_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_23/models/host_group_performance_by_array.py @@ -133,30 +133,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_23/models/host_performance.py b/pypureclient/flasharray/FA_2_23/models/host_performance.py index 9d91ef62b..86cac1441 100644 --- a/pypureclient/flasharray/FA_2_23/models/host_performance.py +++ b/pypureclient/flasharray/FA_2_23/models/host_performance.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_23/models/host_performance_by_array.py b/pypureclient/flasharray/FA_2_23/models/host_performance_by_array.py index 0c0e3dbf5..2b1c2d1b0 100644 --- a/pypureclient/flasharray/FA_2_23/models/host_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_23/models/host_performance_by_array.py @@ -133,30 +133,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_23/models/performance.py b/pypureclient/flasharray/FA_2_23/models/performance.py index 137a5a888..f19c57dfc 100644 --- a/pypureclient/flasharray/FA_2_23/models/performance.py +++ b/pypureclient/flasharray/FA_2_23/models/performance.py @@ -124,30 +124,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_23/models/pod_array_status.py b/pypureclient/flasharray/FA_2_23/models/pod_array_status.py index ac0498199..85debe10f 100644 --- a/pypureclient/flasharray/FA_2_23/models/pod_array_status.py +++ b/pypureclient/flasharray/FA_2_23/models/pod_array_status.py @@ -70,7 +70,7 @@ def __init__( mediator_status (str): The status of the mediator, which determines whether it is available to mediate a high availability event. Valid values are `flummoxed`, `online`, `unknown`, and `unreachable`. Only mediators in the `online` status can mediate high availability events. If set to `flummoxed`, the array can reach a mediator, but it is talking to the wrong one. Verify that the DNS in the environment is properly configured. This status might also appear if the pod has been offline on one array for an extended period of time and the peer array is unreachable. If set to `online`, the array is successfully communicating with the mediator, and the mediator is available to mediate a high availability event. If set to `unreachable`, the array cannot reach the mediator, either due to network issues or because the mediator is down. When a mediator is unreachable, synchronous replication continues to function provided all arrays are healthy and communicating, but a high availability event without mediator access can result in an outage. pre_elected (bool): If set to `true`, the array has been pre-elected to remain online in the rare event that the mediator is inaccessible on both arrays within the stretched pod, and then later, the arrays within the stretched pod become disconnected from each other. If set to `false`, either the array has been pre-elected to remain offline while its peer array remains online, or pre-election is not in effect. One and only one array within each pod is pre-elected at a given point in time, so while a pre-elected array is keeping the pod online, the pod on its non-elected peer array remains offline during the communication failure. Users cannot pre-elect arrays. progress (float): The percentage progress of the pod resyncing process for this array. The percentage is displayed as a decimal value, starting at 0.00 and ending at 1.00. - status (str): The status of the array within the stretched pod. Valid values are `offline`, `online`, `resyncing`, `suspended`, and `unknown`. If set to `offline`, the array is experiencing problems and may not have the latest pod data. The array cannot handle I/O to the pod and cannot take over during a high availability event. If set to `online`, the array is online and has the latest pod data. The array can handle I/O to the pod and take over during a high availability event. If set to `suspended`, the array is experiencing a short connection glitch of the pod. This is a temporary status and would transition to either `online` or `offline` soon. If set to `resyncing`, the array is actively getting the latest pod data so that it becomes fully synchronized with its peer array. During the resyncing process, the array cannot handle I/O to the pod. Once the arrays are fully synchronized, the array changes to `online` status. If set to `unknown`, the status of the peer array is unknown because this array is offline and cannot determine the state of the pod on the peer array. Only the peer array can ever be in unknown status; this unknown status is unique to the local array and will differ when viewed from its peer array. + status (str): The status of the array within the stretched pod. Valid values are `offline`, `online`, `resyncing`, `suspended`, and `unknown`. If set to `offline`, the array is experiencing problems and may not have the latest pod data. The array cannot handle I/O to the pod and cannot take over during a high availability event. If set to `online`, the array is online and has the latest pod data. The array can handle I/O to the pod and take over during a high availability event. If set to `suspended`, the array is experiencing a short connection glitch of the pod. This is a temporary status and would transition to either `online` or `offline` soon. `suspended` is a new status that is exposed, starting from version 6.6.0. If set to `resyncing`, the array is actively getting the latest pod data so that it becomes fully synchronized with its peer array. During the resyncing process, the array cannot handle I/O to the pod. Once the arrays are fully synchronized, the array changes to `online` status. If set to `unknown`, the status of the peer array is unknown because this array is offline and cannot determine the state of the pod on the peer array. Only the peer array can ever be in unknown status; this unknown status is unique to the local array and will differ when viewed from its peer array. """ if id is not None: self.id = id diff --git a/pypureclient/flasharray/FA_2_23/models/pod_performance.py b/pypureclient/flasharray/FA_2_23/models/pod_performance.py index 7937948e6..e74ac56ab 100644 --- a/pypureclient/flasharray/FA_2_23/models/pod_performance.py +++ b/pypureclient/flasharray/FA_2_23/models/pod_performance.py @@ -136,37 +136,37 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. name (str): A user-specified name. The name must be locally unique and can be changed. others_per_sec (int): The number of other requests processed per second. - usec_per_other_op (int): The average time it takes the pod to process an I/O other request, measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + usec_per_other_op (int): The average time it takes the pod to process an I/O other request, measured in microseconds. """ if bytes_per_mirrored_write is not None: self.bytes_per_mirrored_write = bytes_per_mirrored_write diff --git a/pypureclient/flasharray/FA_2_23/models/pod_performance_by_array.py b/pypureclient/flasharray/FA_2_23/models/pod_performance_by_array.py index afddbc275..9815fceed 100644 --- a/pypureclient/flasharray/FA_2_23/models/pod_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_23/models/pod_performance_by_array.py @@ -139,37 +139,37 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. name (str): A user-specified name. The name must be locally unique and can be changed. others_per_sec (int): The number of other requests processed per second. - usec_per_other_op (int): The average time it takes the pod to process an I/O other request, measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + usec_per_other_op (int): The average time it takes the pod to process an I/O other request, measured in microseconds. array (Resource): The array on which the performance metrics were recorded. """ if bytes_per_mirrored_write is not None: diff --git a/pypureclient/flasharray/FA_2_23/models/resource_performance.py b/pypureclient/flasharray/FA_2_23/models/resource_performance.py index 10bd94aa1..43f0831e3 100644 --- a/pypureclient/flasharray/FA_2_23/models/resource_performance.py +++ b/pypureclient/flasharray/FA_2_23/models/resource_performance.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_23/models/resource_performance_by_array.py b/pypureclient/flasharray/FA_2_23/models/resource_performance_by_array.py index e25b0a98c..fdad0d4f0 100644 --- a/pypureclient/flasharray/FA_2_23/models/resource_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_23/models/resource_performance_by_array.py @@ -133,30 +133,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_23/models/resource_performance_no_id.py b/pypureclient/flasharray/FA_2_23/models/resource_performance_no_id.py index ad6230722..440923ad7 100644 --- a/pypureclient/flasharray/FA_2_23/models/resource_performance_no_id.py +++ b/pypureclient/flasharray/FA_2_23/models/resource_performance_no_id.py @@ -127,30 +127,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_23/models/resource_performance_no_id_by_array.py b/pypureclient/flasharray/FA_2_23/models/resource_performance_no_id_by_array.py index f070e89db..789a9183b 100644 --- a/pypureclient/flasharray/FA_2_23/models/resource_performance_no_id_by_array.py +++ b/pypureclient/flasharray/FA_2_23/models/resource_performance_no_id_by_array.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_23/models/volume_group_performance.py b/pypureclient/flasharray/FA_2_23/models/volume_group_performance.py index 42a5eb23f..a2d7116a1 100644 --- a/pypureclient/flasharray/FA_2_23/models/volume_group_performance.py +++ b/pypureclient/flasharray/FA_2_23/models/volume_group_performance.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_23/models/volume_performance.py b/pypureclient/flasharray/FA_2_23/models/volume_performance.py index de0dbd851..d408ccca3 100644 --- a/pypureclient/flasharray/FA_2_23/models/volume_performance.py +++ b/pypureclient/flasharray/FA_2_23/models/volume_performance.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_23/models/volume_performance_by_array.py b/pypureclient/flasharray/FA_2_23/models/volume_performance_by_array.py index e606703f3..03c8f530b 100644 --- a/pypureclient/flasharray/FA_2_23/models/volume_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_23/models/volume_performance_by_array.py @@ -133,30 +133,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_24/models/array_performance.py b/pypureclient/flasharray/FA_2_24/models/array_performance.py index 6641a09f6..a8775b363 100644 --- a/pypureclient/flasharray/FA_2_24/models/array_performance.py +++ b/pypureclient/flasharray/FA_2_24/models/array_performance.py @@ -142,38 +142,38 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. name (str): A locally unique, system-generated name. The name cannot be modified. queue_depth (int): Deprecated. The number displayed here may not be accurate and in later versions of the product this field will always display `null`. Instead, use `queue_usec_per_mirrored_write_op`, `queue_usec_per_read_op`, and `queue_usec_per_write_op` fields to measure IO queuing. - local_queue_usec_per_op (int): Average local queue time for both read and write operations, measured in microseconds. - usec_per_other_op (int): The average time it takes the array to process an I/O other request, measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + local_queue_usec_per_op (int): Deprecated. The number displayed here may not be accurate and in later versions of the product this field will always display `null`. Instead, use `queue_usec_per_mirrored_write_op`, `queue_usec_per_read_op`, and `queue_usec_per_write_op` fields to measure IO queuing. + usec_per_other_op (int): The average time it takes the array to process an I/O other request, measured in microseconds. others_per_sec (int): The number of other requests processed per second. """ if bytes_per_mirrored_write is not None: diff --git a/pypureclient/flasharray/FA_2_24/models/array_performance_by_link.py b/pypureclient/flasharray/FA_2_24/models/array_performance_by_link.py index e721ebdd6..5d6558977 100644 --- a/pypureclient/flasharray/FA_2_24/models/array_performance_by_link.py +++ b/pypureclient/flasharray/FA_2_24/models/array_performance_by_link.py @@ -145,38 +145,38 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. name (str): A locally unique, system-generated name. The name cannot be modified. queue_depth (int): Deprecated. The number displayed here may not be accurate and in later versions of the product this field will always display `null`. Instead, use `queue_usec_per_mirrored_write_op`, `queue_usec_per_read_op`, and `queue_usec_per_write_op` fields to measure IO queuing. - local_queue_usec_per_op (int): Average local queue time for both read and write operations, measured in microseconds. - usec_per_other_op (int): The average time it takes the array to process an I/O other request, measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + local_queue_usec_per_op (int): Deprecated. The number displayed here may not be accurate and in later versions of the product this field will always display `null`. Instead, use `queue_usec_per_mirrored_write_op`, `queue_usec_per_read_op`, and `queue_usec_per_write_op` fields to measure IO queuing. + usec_per_other_op (int): The average time it takes the array to process an I/O other request, measured in microseconds. others_per_sec (int): The number of other requests processed per second. link (list[Resource]): List of IDs and array names for the link """ diff --git a/pypureclient/flasharray/FA_2_24/models/directory_performance.py b/pypureclient/flasharray/FA_2_24/models/directory_performance.py index 084d5e2a5..76459cbb0 100644 --- a/pypureclient/flasharray/FA_2_24/models/directory_performance.py +++ b/pypureclient/flasharray/FA_2_24/models/directory_performance.py @@ -94,9 +94,9 @@ def __init__( read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_other_op (int): The average time it takes the array to process an I/O other request, measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + usec_per_other_op (int): The average time it takes the array to process an I/O other request, measured in microseconds. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. """ diff --git a/pypureclient/flasharray/FA_2_24/models/host_group_performance.py b/pypureclient/flasharray/FA_2_24/models/host_group_performance.py index 51f898d4e..9a35f4949 100644 --- a/pypureclient/flasharray/FA_2_24/models/host_group_performance.py +++ b/pypureclient/flasharray/FA_2_24/models/host_group_performance.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_24/models/host_group_performance_by_array.py b/pypureclient/flasharray/FA_2_24/models/host_group_performance_by_array.py index 14c7d99c0..2b0a24bdd 100644 --- a/pypureclient/flasharray/FA_2_24/models/host_group_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_24/models/host_group_performance_by_array.py @@ -133,30 +133,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_24/models/host_performance.py b/pypureclient/flasharray/FA_2_24/models/host_performance.py index 900c0107f..99a51a1c4 100644 --- a/pypureclient/flasharray/FA_2_24/models/host_performance.py +++ b/pypureclient/flasharray/FA_2_24/models/host_performance.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_24/models/host_performance_by_array.py b/pypureclient/flasharray/FA_2_24/models/host_performance_by_array.py index 65d6f2f39..36916a2fe 100644 --- a/pypureclient/flasharray/FA_2_24/models/host_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_24/models/host_performance_by_array.py @@ -133,30 +133,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_24/models/performance.py b/pypureclient/flasharray/FA_2_24/models/performance.py index e6f1aab7d..8838391d4 100644 --- a/pypureclient/flasharray/FA_2_24/models/performance.py +++ b/pypureclient/flasharray/FA_2_24/models/performance.py @@ -124,30 +124,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_24/models/pod_array_status.py b/pypureclient/flasharray/FA_2_24/models/pod_array_status.py index 8688dbe5a..510dc06f1 100644 --- a/pypureclient/flasharray/FA_2_24/models/pod_array_status.py +++ b/pypureclient/flasharray/FA_2_24/models/pod_array_status.py @@ -70,7 +70,7 @@ def __init__( mediator_status (str): The status of the mediator, which determines whether it is available to mediate a high availability event. Valid values are `flummoxed`, `online`, `unknown`, and `unreachable`. Only mediators in the `online` status can mediate high availability events. If set to `flummoxed`, the array can reach a mediator, but it is talking to the wrong one. Verify that the DNS in the environment is properly configured. This status might also appear if the pod has been offline on one array for an extended period of time and the peer array is unreachable. If set to `online`, the array is successfully communicating with the mediator, and the mediator is available to mediate a high availability event. If set to `unreachable`, the array cannot reach the mediator, either due to network issues or because the mediator is down. When a mediator is unreachable, synchronous replication continues to function provided all arrays are healthy and communicating, but a high availability event without mediator access can result in an outage. pre_elected (bool): If set to `true`, the array has been pre-elected to remain online in the rare event that the mediator is inaccessible on both arrays within the stretched pod, and then later, the arrays within the stretched pod become disconnected from each other. If set to `false`, either the array has been pre-elected to remain offline while its peer array remains online, or pre-election is not in effect. One and only one array within each pod is pre-elected at a given point in time, so while a pre-elected array is keeping the pod online, the pod on its non-elected peer array remains offline during the communication failure. Users cannot pre-elect arrays. progress (float): The percentage progress of the pod resyncing process for this array. The percentage is displayed as a decimal value, starting at 0.00 and ending at 1.00. - status (str): The status of the array within the stretched pod. Valid values are `offline`, `online`, `resyncing`, `suspended`, and `unknown`. If set to `offline`, the array is experiencing problems and may not have the latest pod data. The array cannot handle I/O to the pod and cannot take over during a high availability event. If set to `online`, the array is online and has the latest pod data. The array can handle I/O to the pod and take over during a high availability event. If set to `suspended`, the array is experiencing a short connection glitch of the pod. This is a temporary status and would transition to either `online` or `offline` soon. If set to `resyncing`, the array is actively getting the latest pod data so that it becomes fully synchronized with its peer array. During the resyncing process, the array cannot handle I/O to the pod. Once the arrays are fully synchronized, the array changes to `online` status. If set to `unknown`, the status of the peer array is unknown because this array is offline and cannot determine the state of the pod on the peer array. Only the peer array can ever be in unknown status; this unknown status is unique to the local array and will differ when viewed from its peer array. + status (str): The status of the array within the stretched pod. Valid values are `offline`, `online`, `resyncing`, `suspended`, and `unknown`. If set to `offline`, the array is experiencing problems and may not have the latest pod data. The array cannot handle I/O to the pod and cannot take over during a high availability event. If set to `online`, the array is online and has the latest pod data. The array can handle I/O to the pod and take over during a high availability event. If set to `suspended`, the array is experiencing a short connection glitch of the pod. This is a temporary status and would transition to either `online` or `offline` soon. `suspended` is a new status that is exposed, starting from version 6.6.0. If set to `resyncing`, the array is actively getting the latest pod data so that it becomes fully synchronized with its peer array. During the resyncing process, the array cannot handle I/O to the pod. Once the arrays are fully synchronized, the array changes to `online` status. If set to `unknown`, the status of the peer array is unknown because this array is offline and cannot determine the state of the pod on the peer array. Only the peer array can ever be in unknown status; this unknown status is unique to the local array and will differ when viewed from its peer array. """ if id is not None: self.id = id diff --git a/pypureclient/flasharray/FA_2_24/models/pod_performance.py b/pypureclient/flasharray/FA_2_24/models/pod_performance.py index e9c926cf9..9d21b8fd9 100644 --- a/pypureclient/flasharray/FA_2_24/models/pod_performance.py +++ b/pypureclient/flasharray/FA_2_24/models/pod_performance.py @@ -136,37 +136,37 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. name (str): A user-specified name. The name must be locally unique and can be changed. others_per_sec (int): The number of other requests processed per second. - usec_per_other_op (int): The average time it takes the pod to process an I/O other request, measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + usec_per_other_op (int): The average time it takes the pod to process an I/O other request, measured in microseconds. """ if bytes_per_mirrored_write is not None: self.bytes_per_mirrored_write = bytes_per_mirrored_write diff --git a/pypureclient/flasharray/FA_2_24/models/pod_performance_by_array.py b/pypureclient/flasharray/FA_2_24/models/pod_performance_by_array.py index bf504f26e..85c5cd322 100644 --- a/pypureclient/flasharray/FA_2_24/models/pod_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_24/models/pod_performance_by_array.py @@ -139,37 +139,37 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. name (str): A user-specified name. The name must be locally unique and can be changed. others_per_sec (int): The number of other requests processed per second. - usec_per_other_op (int): The average time it takes the pod to process an I/O other request, measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + usec_per_other_op (int): The average time it takes the pod to process an I/O other request, measured in microseconds. array (Resource): The array on which the performance metrics were recorded. """ if bytes_per_mirrored_write is not None: diff --git a/pypureclient/flasharray/FA_2_24/models/resource_performance.py b/pypureclient/flasharray/FA_2_24/models/resource_performance.py index 7376a486c..0b333c27f 100644 --- a/pypureclient/flasharray/FA_2_24/models/resource_performance.py +++ b/pypureclient/flasharray/FA_2_24/models/resource_performance.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_24/models/resource_performance_by_array.py b/pypureclient/flasharray/FA_2_24/models/resource_performance_by_array.py index 54bae9301..ba0ab54b2 100644 --- a/pypureclient/flasharray/FA_2_24/models/resource_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_24/models/resource_performance_by_array.py @@ -133,30 +133,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_24/models/resource_performance_no_id.py b/pypureclient/flasharray/FA_2_24/models/resource_performance_no_id.py index 554f494cd..5d72827ac 100644 --- a/pypureclient/flasharray/FA_2_24/models/resource_performance_no_id.py +++ b/pypureclient/flasharray/FA_2_24/models/resource_performance_no_id.py @@ -127,30 +127,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_24/models/resource_performance_no_id_by_array.py b/pypureclient/flasharray/FA_2_24/models/resource_performance_no_id_by_array.py index 4b45c4936..43cdcb0ce 100644 --- a/pypureclient/flasharray/FA_2_24/models/resource_performance_no_id_by_array.py +++ b/pypureclient/flasharray/FA_2_24/models/resource_performance_no_id_by_array.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_24/models/volume_group_performance.py b/pypureclient/flasharray/FA_2_24/models/volume_group_performance.py index 152c3e58f..cce14a0eb 100644 --- a/pypureclient/flasharray/FA_2_24/models/volume_group_performance.py +++ b/pypureclient/flasharray/FA_2_24/models/volume_group_performance.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_24/models/volume_performance.py b/pypureclient/flasharray/FA_2_24/models/volume_performance.py index af143c2f9..2d5ef807f 100644 --- a/pypureclient/flasharray/FA_2_24/models/volume_performance.py +++ b/pypureclient/flasharray/FA_2_24/models/volume_performance.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_24/models/volume_performance_by_array.py b/pypureclient/flasharray/FA_2_24/models/volume_performance_by_array.py index 816137682..ff6c6024d 100644 --- a/pypureclient/flasharray/FA_2_24/models/volume_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_24/models/volume_performance_by_array.py @@ -133,30 +133,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_25/api/offloads_api.py b/pypureclient/flasharray/FA_2_25/api/offloads_api.py index 0a7339287..19854f95d 100644 --- a/pypureclient/flasharray/FA_2_25/api/offloads_api.py +++ b/pypureclient/flasharray/FA_2_25/api/offloads_api.py @@ -253,7 +253,7 @@ def api225_offloads_post_with_http_info( # type: (...) -> models.OffloadResponse """Create offload target - Creates an offload target, connecting it to an array. Before you can connect to, manage, and replicate to an offload target, the Purity Run app must be installed. For more information about Purity//FA apps, see the Apps section of this guide. + Creates an offload target, connecting it to an array. Before you can connect to, manage, and replicate to an offload target, the Purity Run app must be installed. This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True >>> thread = api.api225_offloads_post_with_http_info(offload, async_req=True) diff --git a/pypureclient/flasharray/FA_2_25/api/protection_group_snapshots_api.py b/pypureclient/flasharray/FA_2_25/api/protection_group_snapshots_api.py index 0beebaadd..4d12411cd 100644 --- a/pypureclient/flasharray/FA_2_25/api/protection_group_snapshots_api.py +++ b/pypureclient/flasharray/FA_2_25/api/protection_group_snapshots_api.py @@ -470,9 +470,9 @@ def api225_protection_group_snapshots_replica_post_with_http_info( _request_timeout=None, # type: Optional[int] ): # type: (...) -> models.ProtectionGroupSnapshotReplicaResponse - """Send protection group snapshots + """Create protection group snapshots - Send protection group snapshots to protection pgroup targets. When then `on` option is used, only specified targets will recieve the protection group snapshots. + Creates protection group snapshots to send to protection pgroup targets. When the `on` option is used, only specified targets will recieve the protection group snapshots. This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True >>> thread = api.api225_protection_group_snapshots_replica_post_with_http_info(async_req=True) @@ -574,9 +574,9 @@ def api225_protection_group_snapshots_test_post_with_http_info( _request_timeout=None, # type: Optional[int] ): # type: (...) -> models.TestResultWithResourcePostResponse - """Test the protection group snapshot path + """Create a protection group snapshot path - Test the protection group snapshot path without actually taking a snapshot. + Create the protection group snapshot path without actually taking a snapshot. This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True >>> thread = api.api225_protection_group_snapshots_test_post_with_http_info(async_req=True) diff --git a/pypureclient/flasharray/FA_2_25/api/remote_protection_group_snapshots_api.py b/pypureclient/flasharray/FA_2_25/api/remote_protection_group_snapshots_api.py index 04a1f32ba..f18e221e1 100644 --- a/pypureclient/flasharray/FA_2_25/api/remote_protection_group_snapshots_api.py +++ b/pypureclient/flasharray/FA_2_25/api/remote_protection_group_snapshots_api.py @@ -501,9 +501,9 @@ def api225_remote_protection_group_snapshots_test_post_with_http_info( _request_timeout=None, # type: Optional[int] ): # type: (...) -> models.TestResultWithResourcePostResponse - """Test the remote protection group snapshot path + """Create the remote protection group snapshot path - Test the remote protection group snapshot path without actually taking a remote protection group snapshot. + Create the remote protection group snapshot path without actually taking a remote protection group snapshot. This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True >>> thread = api.api225_remote_protection_group_snapshots_test_post_with_http_info(async_req=True) diff --git a/pypureclient/flasharray/FA_2_25/api/volume_snapshots_api.py b/pypureclient/flasharray/FA_2_25/api/volume_snapshots_api.py index bd94282e4..4e66b71d7 100644 --- a/pypureclient/flasharray/FA_2_25/api/volume_snapshots_api.py +++ b/pypureclient/flasharray/FA_2_25/api/volume_snapshots_api.py @@ -869,9 +869,9 @@ def api225_volume_snapshots_test_post_with_http_info( _request_timeout=None, # type: Optional[int] ): # type: (...) -> models.TestResultWithResourcePostResponse - """Test the volume snapshot path + """Create the volume snapshot path - Test the volume snapshot path without actually taking a volume snapshot. + Creates the volume snapshot path without actually taking a volume snapshot. This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True >>> thread = api.api225_volume_snapshots_test_post_with_http_info(volume_snapshot, async_req=True) diff --git a/pypureclient/flasharray/FA_2_25/client.py b/pypureclient/flasharray/FA_2_25/client.py index 0b7f8f470..d962fd4e0 100644 --- a/pypureclient/flasharray/FA_2_25/client.py +++ b/pypureclient/flasharray/FA_2_25/client.py @@ -14226,8 +14226,7 @@ def post_offloads( """ Creates an offload target, connecting it to an array. Before you can connect to, manage, and replicate to an offload target, the Purity Run app must be - installed. For more information about Purity//FA apps, see the Apps section of - this guide. + installed. Args: references (list[FixedReference], optional): @@ -21304,9 +21303,9 @@ def post_protection_group_snapshots_replica( ): # type: (...) -> models.ProtectionGroupSnapshotReplicaResponse """ - Send protection group snapshots to protection pgroup targets. When then `on` - option is used, only specified targets will recieve the protection group - snapshots. + Creates protection group snapshots to send to protection pgroup targets. When + the `on` option is used, only specified targets will recieve the protection + group snapshots. Args: references (list[FixedReference], optional): @@ -21379,7 +21378,7 @@ def post_protection_group_snapshots_test( ): # type: (...) -> models.TestResultWithResourcePostResponse """ - Test the protection group snapshot path without actually taking a snapshot. + Create the protection group snapshot path without actually taking a snapshot. Args: sources (list[FixedReference], optional): @@ -23776,8 +23775,8 @@ def post_remote_protection_group_snapshots_test( ): # type: (...) -> models.TestResultWithResourcePostResponse """ - Test the remote protection group snapshot path without actually taking a remote - protection group snapshot. + Create the remote protection group snapshot path without actually taking a + remote protection group snapshot. Args: references (list[FixedReference], optional): @@ -29797,7 +29796,7 @@ def post_volume_snapshots_test( ): # type: (...) -> models.TestResultWithResourcePostResponse """ - Test the volume snapshot path without actually taking a volume snapshot. + Creates the volume snapshot path without actually taking a volume snapshot. Args: sources (list[FixedReference], optional): diff --git a/pypureclient/flasharray/FA_2_25/models/array_performance.py b/pypureclient/flasharray/FA_2_25/models/array_performance.py index ae2671934..9f68afe02 100644 --- a/pypureclient/flasharray/FA_2_25/models/array_performance.py +++ b/pypureclient/flasharray/FA_2_25/models/array_performance.py @@ -142,38 +142,38 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. name (str): A locally unique, system-generated name. The name cannot be modified. queue_depth (int): Deprecated. The number displayed here may not be accurate and in later versions of the product this field will always display `null`. Instead, use `queue_usec_per_mirrored_write_op`, `queue_usec_per_read_op`, and `queue_usec_per_write_op` fields to measure IO queuing. - local_queue_usec_per_op (int): Average local queue time for both read and write operations, measured in microseconds. - usec_per_other_op (int): The average time it takes the array to process an I/O other request, measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + local_queue_usec_per_op (int): Deprecated. The number displayed here may not be accurate and in later versions of the product this field will always display `null`. Instead, use `queue_usec_per_mirrored_write_op`, `queue_usec_per_read_op`, and `queue_usec_per_write_op` fields to measure IO queuing. + usec_per_other_op (int): The average time it takes the array to process an I/O other request, measured in microseconds. others_per_sec (int): The number of other requests processed per second. """ if bytes_per_mirrored_write is not None: diff --git a/pypureclient/flasharray/FA_2_25/models/array_performance_by_link.py b/pypureclient/flasharray/FA_2_25/models/array_performance_by_link.py index d3826e3d2..9223cdd02 100644 --- a/pypureclient/flasharray/FA_2_25/models/array_performance_by_link.py +++ b/pypureclient/flasharray/FA_2_25/models/array_performance_by_link.py @@ -145,38 +145,38 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. name (str): A locally unique, system-generated name. The name cannot be modified. queue_depth (int): Deprecated. The number displayed here may not be accurate and in later versions of the product this field will always display `null`. Instead, use `queue_usec_per_mirrored_write_op`, `queue_usec_per_read_op`, and `queue_usec_per_write_op` fields to measure IO queuing. - local_queue_usec_per_op (int): Average local queue time for both read and write operations, measured in microseconds. - usec_per_other_op (int): The average time it takes the array to process an I/O other request, measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + local_queue_usec_per_op (int): Deprecated. The number displayed here may not be accurate and in later versions of the product this field will always display `null`. Instead, use `queue_usec_per_mirrored_write_op`, `queue_usec_per_read_op`, and `queue_usec_per_write_op` fields to measure IO queuing. + usec_per_other_op (int): The average time it takes the array to process an I/O other request, measured in microseconds. others_per_sec (int): The number of other requests processed per second. link (list[Resource]): List of IDs and array names for the link """ diff --git a/pypureclient/flasharray/FA_2_25/models/directory_performance.py b/pypureclient/flasharray/FA_2_25/models/directory_performance.py index 0d23315ec..880be1fa2 100644 --- a/pypureclient/flasharray/FA_2_25/models/directory_performance.py +++ b/pypureclient/flasharray/FA_2_25/models/directory_performance.py @@ -94,9 +94,9 @@ def __init__( read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_other_op (int): The average time it takes the array to process an I/O other request, measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + usec_per_other_op (int): The average time it takes the array to process an I/O other request, measured in microseconds. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. """ diff --git a/pypureclient/flasharray/FA_2_25/models/host_group_performance.py b/pypureclient/flasharray/FA_2_25/models/host_group_performance.py index 596d21aa8..c15833b0d 100644 --- a/pypureclient/flasharray/FA_2_25/models/host_group_performance.py +++ b/pypureclient/flasharray/FA_2_25/models/host_group_performance.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_25/models/host_group_performance_by_array.py b/pypureclient/flasharray/FA_2_25/models/host_group_performance_by_array.py index e551bb3dd..36240fbd7 100644 --- a/pypureclient/flasharray/FA_2_25/models/host_group_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_25/models/host_group_performance_by_array.py @@ -133,30 +133,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_25/models/host_performance.py b/pypureclient/flasharray/FA_2_25/models/host_performance.py index 89ad8a7a2..136944846 100644 --- a/pypureclient/flasharray/FA_2_25/models/host_performance.py +++ b/pypureclient/flasharray/FA_2_25/models/host_performance.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_25/models/host_performance_by_array.py b/pypureclient/flasharray/FA_2_25/models/host_performance_by_array.py index f168bbd7f..48bae2a2f 100644 --- a/pypureclient/flasharray/FA_2_25/models/host_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_25/models/host_performance_by_array.py @@ -133,30 +133,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_25/models/offload_azure.py b/pypureclient/flasharray/FA_2_25/models/offload_azure.py index 6ac85819b..0982b35be 100644 --- a/pypureclient/flasharray/FA_2_25/models/offload_azure.py +++ b/pypureclient/flasharray/FA_2_25/models/offload_azure.py @@ -58,7 +58,7 @@ def __init__( container_name (str): The name of the container in the Azure Blob storage account to where the data will be offloaded. The name must be a valid DNS name. If not specified, defaults to `offload`. account_name (str): The name of the existing Azure Blob storage account. secret_access_key (str): The secret access key that goes with the account name (`account_name`) of the Azure Blob storage account. The secret access key is only accepted when creating the connection between the array and the Azure Blob storage account. The `account_name` and `container_name`, and `secret_access_key` parameters must be set together. - profile (str): The Offload target profile that will be selected for this target. This option allows more granular configuration for the target on top of the `protocol` parameter. Values include `azure`. + profile (str): The offload target profile that will be selected for this target. This option allows more granular configuration for the target on top of the `protocol` parameter. Values include `azure`. """ if container_name is not None: self.container_name = container_name diff --git a/pypureclient/flasharray/FA_2_25/models/offload_google_cloud.py b/pypureclient/flasharray/FA_2_25/models/offload_google_cloud.py index 17c35eec3..5a3c759cb 100644 --- a/pypureclient/flasharray/FA_2_25/models/offload_google_cloud.py +++ b/pypureclient/flasharray/FA_2_25/models/offload_google_cloud.py @@ -62,7 +62,7 @@ def __init__( bucket (str): The name of the Google Cloud Storage bucket to which the data will be offloaded. Grant basic read and write access permissions to the bucket and verify that the bucket is empty of all objects. The `access_key_id`, `secret_access_key`, and `bucket` parameters must be set together. secret_access_key (str): The secret access key that goes with the access key ID of the Google Cloud account. The secret access key is 40 characters in length is only accepted when creating the connection between the array and the Google Cloud offload target. The `access_key_id`, `secret_access_key`, and `bucket` parameters must be set together. auth_region (str): The region that will be used for initial authentication request. This parameter is optional and should be used only when region autodetection fails. - profile (str): The Offload target profile that will be selected for this target. This option allows more granular configuration for the target on top of the `protocol` parameter. Values include `gcp`. + profile (str): The offload target profile that will be selected for this target. This option allows more granular configuration for the target on top of the `protocol` parameter. Values include `gcp`. """ if access_key_id is not None: self.access_key_id = access_key_id diff --git a/pypureclient/flasharray/FA_2_25/models/offload_nfs.py b/pypureclient/flasharray/FA_2_25/models/offload_nfs.py index 7e47fe0be..1fd2072c8 100644 --- a/pypureclient/flasharray/FA_2_25/models/offload_nfs.py +++ b/pypureclient/flasharray/FA_2_25/models/offload_nfs.py @@ -58,7 +58,7 @@ def __init__( address (str): The hostname or IP address of the NFS server to where the data will be offloaded. An array can be connected to one offload target at a time, while multiple arrays can be connected to the same offload target. If the protection group is in a stretched pod, for high availability, connect both arrays in the stretched pod to the offload target. mount_options (str): The custom mount options on the NFS server. Enter multiple mount options in comma-separated format. Valid values include `port`, `rsize`, `wsize`, `nfsvers`, and `tcp` or `udp`. These mount options are common to all NFS file systems. mount_point (str): The mount point of the NFS export on the NFS server. For example, `/mnt`. The `access_key_id`, `secret_access_key`, and `bucket` parameters must be set together. - profile (str): The Offload target profile that will be selected for this target. This option allows more granular configuration for the target on top of the `protocol` parameter. Values include `nfs`, and `nfs-flashblade`. + profile (str): The offload target profile that will be selected for this target. This option allows more granular configuration for the target on top of the `protocol` parameter. Values include `nfs`, and `nfs-flashblade`. """ if address is not None: self.address = address diff --git a/pypureclient/flasharray/FA_2_25/models/offload_s3.py b/pypureclient/flasharray/FA_2_25/models/offload_s3.py index a3da4fd79..aa515d85a 100644 --- a/pypureclient/flasharray/FA_2_25/models/offload_s3.py +++ b/pypureclient/flasharray/FA_2_25/models/offload_s3.py @@ -70,7 +70,7 @@ def __init__( secret_access_key (str): The secret access key that goes with the access key ID (`access_key_id`) of the AWS account. The secret access key is 40 characters in length is only accepted when creating the connection between the array and the S3 offload target. The `access_key_id`, `secret_access_key`, and `bucket` parameters must be set together. uri (str): The URI used to create a connection between the array and a non-AWS S3 offload target. Storage placement strategies are not supported for non-AWS S3 offload targets. Both the HTTP and HTTPS protocols are allowed. auth_region (str): The region that will be used for initial authentication request. This parameter is optional and should be used only when region autodetection fails. - profile (str): The Offload target profile that will be selected for this target. This option allows more granular configuration for the target on top of the `protocol` parameter. Values include `s3-aws`, `s3-flashblade`, `s3-scality-ring`, `s3-wasabi-pay-as-you-go`, `s3-wasabi-rcs`, and `s3-other`. + profile (str): The offload target profile that will be selected for this target. This option allows more granular configuration for the target on top of the `protocol` parameter. Values include `s3-aws`, `s3-flashblade`, `s3-scality-ring`, `s3-wasabi-pay-as-you-go`, `s3-wasabi-rcs`, and `s3-other`. """ if access_key_id is not None: self.access_key_id = access_key_id diff --git a/pypureclient/flasharray/FA_2_25/models/performance.py b/pypureclient/flasharray/FA_2_25/models/performance.py index 9d8d24b69..4865fcbaf 100644 --- a/pypureclient/flasharray/FA_2_25/models/performance.py +++ b/pypureclient/flasharray/FA_2_25/models/performance.py @@ -124,30 +124,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_25/models/pod_array_status.py b/pypureclient/flasharray/FA_2_25/models/pod_array_status.py index d969700c7..22ac7fb60 100644 --- a/pypureclient/flasharray/FA_2_25/models/pod_array_status.py +++ b/pypureclient/flasharray/FA_2_25/models/pod_array_status.py @@ -70,7 +70,7 @@ def __init__( mediator_status (str): The status of the mediator, which determines whether it is available to mediate a high availability event. Valid values are `flummoxed`, `online`, `unknown`, and `unreachable`. Only mediators in the `online` status can mediate high availability events. If set to `flummoxed`, the array can reach a mediator, but it is talking to the wrong one. Verify that the DNS in the environment is properly configured. This status might also appear if the pod has been offline on one array for an extended period of time and the peer array is unreachable. If set to `online`, the array is successfully communicating with the mediator, and the mediator is available to mediate a high availability event. If set to `unreachable`, the array cannot reach the mediator, either due to network issues or because the mediator is down. When a mediator is unreachable, synchronous replication continues to function provided all arrays are healthy and communicating, but a high availability event without mediator access can result in an outage. pre_elected (bool): If set to `true`, the array has been pre-elected to remain online in the rare event that the mediator is inaccessible on both arrays within the stretched pod, and then later, the arrays within the stretched pod become disconnected from each other. If set to `false`, either the array has been pre-elected to remain offline while its peer array remains online, or pre-election is not in effect. One and only one array within each pod is pre-elected at a given point in time, so while a pre-elected array is keeping the pod online, the pod on its non-elected peer array remains offline during the communication failure. Users cannot pre-elect arrays. progress (float): The percentage progress of the pod resyncing process for this array. The percentage is displayed as a decimal value, starting at 0.00 and ending at 1.00. - status (str): The status of the array within the stretched pod. Valid values are `offline`, `online`, `resyncing`, `suspended`, and `unknown`. If set to `offline`, the array is experiencing problems and may not have the latest pod data. The array cannot handle I/O to the pod and cannot take over during a high availability event. If set to `online`, the array is online and has the latest pod data. The array can handle I/O to the pod and take over during a high availability event. If set to `suspended`, the array is experiencing a short connection glitch of the pod. This is a temporary status and would transition to either `online` or `offline` soon. If set to `resyncing`, the array is actively getting the latest pod data so that it becomes fully synchronized with its peer array. During the resyncing process, the array cannot handle I/O to the pod. Once the arrays are fully synchronized, the array changes to `online` status. If set to `unknown`, the status of the peer array is unknown because this array is offline and cannot determine the state of the pod on the peer array. Only the peer array can ever be in unknown status; this unknown status is unique to the local array and will differ when viewed from its peer array. + status (str): The status of the array within the stretched pod. Valid values are `offline`, `online`, `resyncing`, `suspended`, and `unknown`. If set to `offline`, the array is experiencing problems and may not have the latest pod data. The array cannot handle I/O to the pod and cannot take over during a high availability event. If set to `online`, the array is online and has the latest pod data. The array can handle I/O to the pod and take over during a high availability event. If set to `suspended`, the array is experiencing a short connection glitch of the pod. This is a temporary status and would transition to either `online` or `offline` soon. `suspended` is a new status that is exposed, starting from version 6.6.0. If set to `resyncing`, the array is actively getting the latest pod data so that it becomes fully synchronized with its peer array. During the resyncing process, the array cannot handle I/O to the pod. Once the arrays are fully synchronized, the array changes to `online` status. If set to `unknown`, the status of the peer array is unknown because this array is offline and cannot determine the state of the pod on the peer array. Only the peer array can ever be in unknown status; this unknown status is unique to the local array and will differ when viewed from its peer array. """ if id is not None: self.id = id diff --git a/pypureclient/flasharray/FA_2_25/models/pod_performance.py b/pypureclient/flasharray/FA_2_25/models/pod_performance.py index ed73fc027..1dda7e392 100644 --- a/pypureclient/flasharray/FA_2_25/models/pod_performance.py +++ b/pypureclient/flasharray/FA_2_25/models/pod_performance.py @@ -136,37 +136,37 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. name (str): A user-specified name. The name must be locally unique and can be changed. others_per_sec (int): The number of other requests processed per second. - usec_per_other_op (int): The average time it takes the pod to process an I/O other request, measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + usec_per_other_op (int): The average time it takes the pod to process an I/O other request, measured in microseconds. """ if bytes_per_mirrored_write is not None: self.bytes_per_mirrored_write = bytes_per_mirrored_write diff --git a/pypureclient/flasharray/FA_2_25/models/pod_performance_by_array.py b/pypureclient/flasharray/FA_2_25/models/pod_performance_by_array.py index 6a3ca19f8..c8c7a5dfc 100644 --- a/pypureclient/flasharray/FA_2_25/models/pod_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_25/models/pod_performance_by_array.py @@ -139,37 +139,37 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. name (str): A user-specified name. The name must be locally unique and can be changed. others_per_sec (int): The number of other requests processed per second. - usec_per_other_op (int): The average time it takes the pod to process an I/O other request, measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + usec_per_other_op (int): The average time it takes the pod to process an I/O other request, measured in microseconds. array (Resource): The array on which the performance metrics were recorded. """ if bytes_per_mirrored_write is not None: diff --git a/pypureclient/flasharray/FA_2_25/models/resource_performance.py b/pypureclient/flasharray/FA_2_25/models/resource_performance.py index b4d96e0e8..a81af39e2 100644 --- a/pypureclient/flasharray/FA_2_25/models/resource_performance.py +++ b/pypureclient/flasharray/FA_2_25/models/resource_performance.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_25/models/resource_performance_by_array.py b/pypureclient/flasharray/FA_2_25/models/resource_performance_by_array.py index bf116565c..090b4f2f2 100644 --- a/pypureclient/flasharray/FA_2_25/models/resource_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_25/models/resource_performance_by_array.py @@ -133,30 +133,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_25/models/resource_performance_no_id.py b/pypureclient/flasharray/FA_2_25/models/resource_performance_no_id.py index df72c4f33..98f01854b 100644 --- a/pypureclient/flasharray/FA_2_25/models/resource_performance_no_id.py +++ b/pypureclient/flasharray/FA_2_25/models/resource_performance_no_id.py @@ -127,30 +127,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_25/models/resource_performance_no_id_by_array.py b/pypureclient/flasharray/FA_2_25/models/resource_performance_no_id_by_array.py index f1fc77112..599b12399 100644 --- a/pypureclient/flasharray/FA_2_25/models/resource_performance_no_id_by_array.py +++ b/pypureclient/flasharray/FA_2_25/models/resource_performance_no_id_by_array.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_25/models/volume_group_performance.py b/pypureclient/flasharray/FA_2_25/models/volume_group_performance.py index 31749a5d1..f8e221fd5 100644 --- a/pypureclient/flasharray/FA_2_25/models/volume_group_performance.py +++ b/pypureclient/flasharray/FA_2_25/models/volume_group_performance.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_25/models/volume_performance.py b/pypureclient/flasharray/FA_2_25/models/volume_performance.py index 76b0cfabc..ba0de9431 100644 --- a/pypureclient/flasharray/FA_2_25/models/volume_performance.py +++ b/pypureclient/flasharray/FA_2_25/models/volume_performance.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_25/models/volume_performance_by_array.py b/pypureclient/flasharray/FA_2_25/models/volume_performance_by_array.py index d9149301e..ab00bae52 100644 --- a/pypureclient/flasharray/FA_2_25/models/volume_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_25/models/volume_performance_by_array.py @@ -133,30 +133,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_26/__init__.py b/pypureclient/flasharray/FA_2_26/__init__.py new file mode 100644 index 000000000..f52c34eec --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/__init__.py @@ -0,0 +1,715 @@ +from __future__ import absolute_import +import os + +from .client import Client +from ...exceptions import PureError +from ...properties import Property, Filter +from ...responses import ValidResponse, ErrorResponse, ApiError, ResponseHeaders + +from .models.active_directory import ActiveDirectory +from .models.active_directory_patch import ActiveDirectoryPatch +from .models.active_directory_post import ActiveDirectoryPost +from .models.admin import Admin +from .models.admin_api_token import AdminApiToken +from .models.admin_cache import AdminCache +from .models.admin_patch import AdminPatch +from .models.admin_post import AdminPost +from .models.admin_role import AdminRole +from .models.admin_settings import AdminSettings +from .models.aggregate_replication_performance import AggregateReplicationPerformance +from .models.alert import Alert +from .models.alert_event import AlertEvent +from .models.alert_rules import AlertRules +from .models.alert_rules_catalog import AlertRulesCatalog +from .models.alert_watcher import AlertWatcher +from .models.alert_watcher_patch import AlertWatcherPatch +from .models.alert_watcher_post import AlertWatcherPost +from .models.api_client import ApiClient +from .models.api_client_patch import ApiClientPatch +from .models.api_client_post import ApiClientPost +from .models.api_token import ApiToken +from .models.app import App +from .models.app_node import AppNode +from .models.array import Array +from .models.array_connection import ArrayConnection +from .models.array_connection_key import ArrayConnectionKey +from .models.array_connection_path import ArrayConnectionPath +from .models.array_connection_post import ArrayConnectionPost +from .models.array_encryption import ArrayEncryption +from .models.array_factory_reset_token import ArrayFactoryResetToken +from .models.array_performance import ArrayPerformance +from .models.array_performance_by_link import ArrayPerformanceByLink +from .models.array_space import ArraySpace +from .models.arrayencryption_data_at_rest import ArrayencryptionDataAtRest +from .models.arrays import Arrays +from .models.audit import Audit +from .models.built_in import BuiltIn +from .models.built_in_relationship import BuiltInRelationship +from .models.built_in_resource_no_id import BuiltInResourceNoId +from .models.certificate import Certificate +from .models.certificate_post import CertificatePost +from .models.certificate_signing_request import CertificateSigningRequest +from .models.certificate_signing_request_post import CertificateSigningRequestPost +from .models.chap import Chap +from .models.cloud_provider_tag import CloudProviderTag +from .models.connection import Connection +from .models.connection_post import ConnectionPost +from .models.container_default_protection import ContainerDefaultProtection +from .models.controller import Controller +from .models.controllers import Controllers +from .models.default_protection_reference import DefaultProtectionReference +from .models.destroyed_patch_post import DestroyedPatchPost +from .models.directory import Directory +from .models.directory_export import DirectoryExport +from .models.directory_export_post import DirectoryExportPost +from .models.directory_lock_nlm_reclamation import DirectoryLockNlmReclamation +from .models.directory_patch import DirectoryPatch +from .models.directory_performance import DirectoryPerformance +from .models.directory_policy_export_post import DirectoryPolicyExportPost +from .models.directory_policy_post import DirectoryPolicyPost +from .models.directory_post import DirectoryPost +from .models.directory_quota import DirectoryQuota +from .models.directory_service import DirectoryService +from .models.directory_service_management import DirectoryServiceManagement +from .models.directory_service_role import DirectoryServiceRole +from .models.directory_snapshot import DirectorySnapshot +from .models.directory_snapshot_patch import DirectorySnapshotPatch +from .models.directory_snapshot_post import DirectorySnapshotPost +from .models.directory_space import DirectorySpace +from .models.directorypolicyexportpost_policies import DirectorypolicyexportpostPolicies +from .models.directorypolicypost_policies import DirectorypolicypostPolicies +from .models.dns import Dns +from .models.dns_patch import DnsPatch +from .models.dns_post import DnsPost +from .models.drive import Drive +from .models.eradication_config import EradicationConfig +from .models.eula import Eula +from .models.eula_signature import EulaSignature +from .models.file_post import FilePost +from .models.file_system import FileSystem +from .models.file_system_patch import FileSystemPatch +from .models.fixed_name_resource_no_id import FixedNameResourceNoId +from .models.fixed_reference import FixedReference +from .models.fixed_reference_no_id import FixedReferenceNoId +from .models.fixed_reference_with_type import FixedReferenceWithType +from .models.hardware import Hardware +from .models.hardware_patch import HardwarePatch +from .models.host import Host +from .models.host_group import HostGroup +from .models.host_group_patch import HostGroupPatch +from .models.host_group_performance import HostGroupPerformance +from .models.host_group_performance_by_array import HostGroupPerformanceByArray +from .models.host_group_space import HostGroupSpace +from .models.host_patch import HostPatch +from .models.host_performance import HostPerformance +from .models.host_performance_balance import HostPerformanceBalance +from .models.host_performance_by_array import HostPerformanceByArray +from .models.host_port_connectivity import HostPortConnectivity +from .models.host_post import HostPost +from .models.host_space import HostSpace +from .models.kmip import Kmip +from .models.kmip_certificate import KmipCertificate +from .models.kmip_object import KmipObject +from .models.kmip_patch import KmipPatch +from .models.kmip_post import KmipPost +from .models.kmip_test_result import KmipTestResult +from .models.limited_by import LimitedBy +from .models.local_group import LocalGroup +from .models.local_group_membership_post import LocalGroupMembershipPost +from .models.local_group_post import LocalGroupPost +from .models.local_member import LocalMember +from .models.local_user import LocalUser +from .models.local_user_membership_post import LocalUserMembershipPost +from .models.local_user_patch import LocalUserPatch +from .models.local_user_post import LocalUserPost +from .models.localgroupmembershippost_members import LocalgroupmembershippostMembers +from .models.localusermembershippost_groups import LocalusermembershippostGroups +from .models.maintenance_window import MaintenanceWindow +from .models.maintenance_window_post import MaintenanceWindowPost +from .models.member import Member +from .models.member_no_id_all import MemberNoIdAll +from .models.member_no_id_group import MemberNoIdGroup +from .models.member_no_id_member import MemberNoIdMember +from .models.network_interface import NetworkInterface +from .models.network_interface_eth import NetworkInterfaceEth +from .models.network_interface_fc import NetworkInterfaceFc +from .models.network_interface_neighbor import NetworkInterfaceNeighbor +from .models.network_interface_neighbor_capability import NetworkInterfaceNeighborCapability +from .models.network_interface_neighbor_neighbor_chassis import NetworkInterfaceNeighborNeighborChassis +from .models.network_interface_neighbor_neighbor_chassis_id import NetworkInterfaceNeighborNeighborChassisId +from .models.network_interface_neighbor_neighbor_port import NetworkInterfaceNeighborNeighborPort +from .models.network_interface_neighbor_neighbor_port_id import NetworkInterfaceNeighborNeighborPortId +from .models.network_interface_patch import NetworkInterfacePatch +from .models.network_interface_performance import NetworkInterfacePerformance +from .models.network_interface_performance_eth import NetworkInterfacePerformanceEth +from .models.network_interface_performance_fc import NetworkInterfacePerformanceFc +from .models.network_interface_port_details import NetworkInterfacePortDetails +from .models.network_interface_port_details_rx_los import NetworkInterfacePortDetailsRxLos +from .models.network_interface_port_details_rx_power import NetworkInterfacePortDetailsRxPower +from .models.network_interface_port_details_static import NetworkInterfacePortDetailsStatic +from .models.network_interface_port_details_static_rx_power_thresholds import NetworkInterfacePortDetailsStaticRxPowerThresholds +from .models.network_interface_port_details_static_temperature_thresholds import NetworkInterfacePortDetailsStaticTemperatureThresholds +from .models.network_interface_port_details_static_tx_bias_thresholds import NetworkInterfacePortDetailsStaticTxBiasThresholds +from .models.network_interface_port_details_static_tx_power_thresholds import NetworkInterfacePortDetailsStaticTxPowerThresholds +from .models.network_interface_port_details_static_voltage_thresholds import NetworkInterfacePortDetailsStaticVoltageThresholds +from .models.network_interface_port_details_temperature import NetworkInterfacePortDetailsTemperature +from .models.network_interface_port_details_tx_bias import NetworkInterfacePortDetailsTxBias +from .models.network_interface_port_details_tx_fault import NetworkInterfacePortDetailsTxFault +from .models.network_interface_port_details_tx_power import NetworkInterfacePortDetailsTxPower +from .models.network_interface_port_details_voltage import NetworkInterfacePortDetailsVoltage +from .models.network_interface_post import NetworkInterfacePost +from .models.network_interfaces_port_details import NetworkInterfacesPortDetails +from .models.networkinterfacepatch_eth import NetworkinterfacepatchEth +from .models.networkinterfacepost_eth import NetworkinterfacepostEth +from .models.new_name import NewName +from .models.offload import Offload +from .models.offload_azure import OffloadAzure +from .models.offload_google_cloud import OffloadGoogleCloud +from .models.offload_nfs import OffloadNfs +from .models.offload_post import OffloadPost +from .models.offload_s3 import OffloadS3 +from .models.override_check import OverrideCheck +from .models.page_info import PageInfo +from .models.performance import Performance +from .models.pod import Pod +from .models.pod_array_status import PodArrayStatus +from .models.pod_eradication_config import PodEradicationConfig +from .models.pod_patch import PodPatch +from .models.pod_performance import PodPerformance +from .models.pod_performance_by_array import PodPerformanceByArray +from .models.pod_performance_replication import PodPerformanceReplication +from .models.pod_performance_replication_by_array import PodPerformanceReplicationByArray +from .models.pod_post import PodPost +from .models.pod_replica_link import PodReplicaLink +from .models.pod_replica_link_lag import PodReplicaLinkLag +from .models.pod_replica_link_patch import PodReplicaLinkPatch +from .models.pod_replica_link_performance import PodReplicaLinkPerformance +from .models.pod_replica_link_performance_replication import PodReplicaLinkPerformanceReplication +from .models.pod_space import PodSpace +from .models.policy import Policy +from .models.policy_member import PolicyMember +from .models.policy_member_export import PolicyMemberExport +from .models.policy_member_export_post import PolicyMemberExportPost +from .models.policy_member_post import PolicyMemberPost +from .models.policy_nfs import PolicyNfs +from .models.policy_nfs_patch import PolicyNfsPatch +from .models.policy_nfs_post import PolicyNfsPost +from .models.policy_patch import PolicyPatch +from .models.policy_post import PolicyPost +from .models.policy_rule_nfs_client import PolicyRuleNfsClient +from .models.policy_rule_nfs_client_post import PolicyRuleNfsClientPost +from .models.policy_rule_quota import PolicyRuleQuota +from .models.policy_rule_quota_patch import PolicyRuleQuotaPatch +from .models.policy_rule_quota_post import PolicyRuleQuotaPost +from .models.policy_rule_smb_client import PolicyRuleSmbClient +from .models.policy_rule_smb_client_post import PolicyRuleSmbClientPost +from .models.policy_rule_snapshot import PolicyRuleSnapshot +from .models.policy_rule_snapshot_post import PolicyRuleSnapshotPost +from .models.policy_smb import PolicySmb +from .models.policy_smb_patch import PolicySmbPatch +from .models.policy_smb_post import PolicySmbPost +from .models.policymemberexportpost_members import PolicymemberexportpostMembers +from .models.policymemberpost_members import PolicymemberpostMembers +from .models.policyrulenfsclientpost_rules import PolicyrulenfsclientpostRules +from .models.policyrulequotapatch_rules import PolicyrulequotapatchRules +from .models.policyrulequotapost_rules import PolicyrulequotapostRules +from .models.policyrulesmbclientpost_rules import PolicyrulesmbclientpostRules +from .models.policyrulesnapshotpost_rules import PolicyrulesnapshotpostRules +from .models.port import Port +from .models.port_common import PortCommon +from .models.port_initiator import PortInitiator +from .models.priority_adjustment import PriorityAdjustment +from .models.protection_group import ProtectionGroup +from .models.protection_group_eradication_config import ProtectionGroupEradicationConfig +from .models.protection_group_performance import ProtectionGroupPerformance +from .models.protection_group_performance_array import ProtectionGroupPerformanceArray +from .models.protection_group_performance_by_array import ProtectionGroupPerformanceByArray +from .models.protection_group_snapshot import ProtectionGroupSnapshot +from .models.protection_group_snapshot_patch import ProtectionGroupSnapshotPatch +from .models.protection_group_snapshot_post import ProtectionGroupSnapshotPost +from .models.protection_group_snapshot_replica import ProtectionGroupSnapshotReplica +from .models.protection_group_snapshot_transfer import ProtectionGroupSnapshotTransfer +from .models.protection_group_space import ProtectionGroupSpace +from .models.protection_group_target import ProtectionGroupTarget +from .models.protection_groups_volumes import ProtectionGroupsVolumes +from .models.qos import Qos +from .models.reference import Reference +from .models.reference_no_id import ReferenceNoId +from .models.reference_no_id_with_type import ReferenceNoIdWithType +from .models.reference_with_type import ReferenceWithType +from .models.remote_pod import RemotePod +from .models.remote_protection_group import RemoteProtectionGroup +from .models.remote_protection_group_snapshot import RemoteProtectionGroupSnapshot +from .models.remote_protection_group_snapshot_post import RemoteProtectionGroupSnapshotPost +from .models.remote_protection_group_snapshot_transfer import RemoteProtectionGroupSnapshotTransfer +from .models.remote_volume_snapshot import RemoteVolumeSnapshot +from .models.remote_volume_snapshot_transfer import RemoteVolumeSnapshotTransfer +from .models.replica_link_lag import ReplicaLinkLag +from .models.replica_link_performance_replication import ReplicaLinkPerformanceReplication +from .models.replication_performance_with_total import ReplicationPerformanceWithTotal +from .models.replication_schedule import ReplicationSchedule +from .models.resource import Resource +from .models.resource_directory_space import ResourceDirectorySpace +from .models.resource_fixed_non_unique_name import ResourceFixedNonUniqueName +from .models.resource_no_id import ResourceNoId +from .models.resource_performance import ResourcePerformance +from .models.resource_performance_by_array import ResourcePerformanceByArray +from .models.resource_performance_no_id import ResourcePerformanceNoId +from .models.resource_performance_no_id_by_array import ResourcePerformanceNoIdByArray +from .models.resource_pod_space import ResourcePodSpace +from .models.resource_space import ResourceSpace +from .models.resource_space_no_id import ResourceSpaceNoId +from .models.retention_policy import RetentionPolicy +from .models.saml2_sso import Saml2Sso +from .models.saml2_sso_idp import Saml2SsoIdp +from .models.saml2_sso_patch import Saml2SsoPatch +from .models.saml2_sso_post import Saml2SsoPost +from .models.saml2_sso_sp import Saml2SsoSp +from .models.saml2_sso_sp_credential import Saml2SsoSpCredential +from .models.session import Session +from .models.smis import Smis +from .models.smtp_server import SmtpServer +from .models.snapshot import Snapshot +from .models.snapshot_schedule import SnapshotSchedule +from .models.snapshot_space import SnapshotSpace +from .models.snmp_agent import SnmpAgent +from .models.snmp_agent_mib import SnmpAgentMib +from .models.snmp_agent_patch import SnmpAgentPatch +from .models.snmp_manager import SnmpManager +from .models.snmp_manager_patch import SnmpManagerPatch +from .models.snmp_manager_post import SnmpManagerPost +from .models.snmp_v2c import SnmpV2c +from .models.snmp_v3 import SnmpV3 +from .models.snmp_v3_patch import SnmpV3Patch +from .models.snmp_v3_post import SnmpV3Post +from .models.software import Software +from .models.software_bundle import SoftwareBundle +from .models.software_bundle_post import SoftwareBundlePost +from .models.software_check import SoftwareCheck +from .models.software_checks import SoftwareChecks +from .models.software_checks_checks import SoftwareChecksChecks +from .models.software_installation import SoftwareInstallation +from .models.software_installation_patch import SoftwareInstallationPatch +from .models.software_installation_post import SoftwareInstallationPost +from .models.software_installation_step import SoftwareInstallationStep +from .models.software_installation_steps import SoftwareInstallationSteps +from .models.software_installation_steps_checks import SoftwareInstallationStepsChecks +from .models.software_installations import SoftwareInstallations +from .models.software_patch import SoftwarePatch +from .models.software_patches import SoftwarePatches +from .models.software_post import SoftwarePost +from .models.software_upgrade_plan import SoftwareUpgradePlan +from .models.software_version import SoftwareVersion +from .models.software_versions import SoftwareVersions +from .models.space import Space +from .models.start_end_time import StartEndTime +from .models.subnet import Subnet +from .models.subnet_patch import SubnetPatch +from .models.subnet_post import SubnetPost +from .models.subscription import Subscription +from .models.subscription_asset import SubscriptionAsset +from .models.subscription_asset_subscription import SubscriptionAssetSubscription +from .models.support import Support +from .models.support_patch import SupportPatch +from .models.support_remote_assist_paths import SupportRemoteAssistPaths +from .models.syslog_server import SyslogServer +from .models.syslog_server_settings import SyslogServerSettings +from .models.tag import Tag +from .models.target_protection_group import TargetProtectionGroup +from .models.target_protection_group_post_patch import TargetProtectionGroupPostPatch +from .models.test_result import TestResult +from .models.test_result_with_resource import TestResultWithResource +from .models.test_result_with_resource_with_id import TestResultWithResourceWithId +from .models.throttle import Throttle +from .models.time_window import TimeWindow +from .models.transfer import Transfer +from .models.username import Username +from .models.vchost import Vchost +from .models.vchost_certificate import VchostCertificate +from .models.vchost_certificate_patch import VchostCertificatePatch +from .models.vchost_certificate_post import VchostCertificatePost +from .models.vchost_endpoint import VchostEndpoint +from .models.vchost_endpoint_patch import VchostEndpointPatch +from .models.vchost_endpoint_post import VchostEndpointPost +from .models.vchost_patch import VchostPatch +from .models.vchost_post import VchostPost +from .models.virtual_machine import VirtualMachine +from .models.virtual_machine_post import VirtualMachinePost +from .models.volume import Volume +from .models.volume_common import VolumeCommon +from .models.volume_diff import VolumeDiff +from .models.volume_group import VolumeGroup +from .models.volume_group_patch import VolumeGroupPatch +from .models.volume_group_performance import VolumeGroupPerformance +from .models.volume_group_post import VolumeGroupPost +from .models.volume_group_space import VolumeGroupSpace +from .models.volume_patch import VolumePatch +from .models.volume_performance import VolumePerformance +from .models.volume_performance_by_array import VolumePerformanceByArray +from .models.volume_post import VolumePost +from .models.volume_snapshot import VolumeSnapshot +from .models.volume_snapshot_patch import VolumeSnapshotPatch +from .models.volume_snapshot_post import VolumeSnapshotPost +from .models.volume_snapshot_transfer import VolumeSnapshotTransfer +from .models.volume_space import VolumeSpace +from .models.volume_space_common import VolumeSpaceCommon + + +def add_properties(model): + for name, value in model.attribute_map.items(): + setattr(model, name, Property(value)) + + +CLASSES_TO_ADD_PROPS = [ + ActiveDirectory, + ActiveDirectoryPatch, + ActiveDirectoryPost, + Admin, + AdminApiToken, + AdminCache, + AdminPatch, + AdminPost, + AdminRole, + AdminSettings, + AggregateReplicationPerformance, + Alert, + AlertEvent, + AlertRules, + AlertRulesCatalog, + AlertWatcher, + AlertWatcherPatch, + AlertWatcherPost, + ApiClient, + ApiClientPatch, + ApiClientPost, + ApiToken, + App, + AppNode, + Array, + ArrayConnection, + ArrayConnectionKey, + ArrayConnectionPath, + ArrayConnectionPost, + ArrayEncryption, + ArrayFactoryResetToken, + ArrayPerformance, + ArrayPerformanceByLink, + ArraySpace, + ArrayencryptionDataAtRest, + Arrays, + Audit, + BuiltIn, + BuiltInRelationship, + BuiltInResourceNoId, + Certificate, + CertificatePost, + CertificateSigningRequest, + CertificateSigningRequestPost, + Chap, + CloudProviderTag, + Connection, + ConnectionPost, + ContainerDefaultProtection, + Controller, + Controllers, + DefaultProtectionReference, + DestroyedPatchPost, + Directory, + DirectoryExport, + DirectoryExportPost, + DirectoryLockNlmReclamation, + DirectoryPatch, + DirectoryPerformance, + DirectoryPolicyExportPost, + DirectoryPolicyPost, + DirectoryPost, + DirectoryQuota, + DirectoryService, + DirectoryServiceManagement, + DirectoryServiceRole, + DirectorySnapshot, + DirectorySnapshotPatch, + DirectorySnapshotPost, + DirectorySpace, + DirectorypolicyexportpostPolicies, + DirectorypolicypostPolicies, + Dns, + DnsPatch, + DnsPost, + Drive, + EradicationConfig, + Eula, + EulaSignature, + FilePost, + FileSystem, + FileSystemPatch, + FixedNameResourceNoId, + FixedReference, + FixedReferenceNoId, + FixedReferenceWithType, + Hardware, + HardwarePatch, + Host, + HostGroup, + HostGroupPatch, + HostGroupPerformance, + HostGroupPerformanceByArray, + HostGroupSpace, + HostPatch, + HostPerformance, + HostPerformanceBalance, + HostPerformanceByArray, + HostPortConnectivity, + HostPost, + HostSpace, + Kmip, + KmipCertificate, + KmipObject, + KmipPatch, + KmipPost, + KmipTestResult, + LimitedBy, + LocalGroup, + LocalGroupMembershipPost, + LocalGroupPost, + LocalMember, + LocalUser, + LocalUserMembershipPost, + LocalUserPatch, + LocalUserPost, + LocalgroupmembershippostMembers, + LocalusermembershippostGroups, + MaintenanceWindow, + MaintenanceWindowPost, + Member, + MemberNoIdAll, + MemberNoIdGroup, + MemberNoIdMember, + NetworkInterface, + NetworkInterfaceEth, + NetworkInterfaceFc, + NetworkInterfaceNeighbor, + NetworkInterfaceNeighborCapability, + NetworkInterfaceNeighborNeighborChassis, + NetworkInterfaceNeighborNeighborChassisId, + NetworkInterfaceNeighborNeighborPort, + NetworkInterfaceNeighborNeighborPortId, + NetworkInterfacePatch, + NetworkInterfacePerformance, + NetworkInterfacePerformanceEth, + NetworkInterfacePerformanceFc, + NetworkInterfacePortDetails, + NetworkInterfacePortDetailsRxLos, + NetworkInterfacePortDetailsRxPower, + NetworkInterfacePortDetailsStatic, + NetworkInterfacePortDetailsStaticRxPowerThresholds, + NetworkInterfacePortDetailsStaticTemperatureThresholds, + NetworkInterfacePortDetailsStaticTxBiasThresholds, + NetworkInterfacePortDetailsStaticTxPowerThresholds, + NetworkInterfacePortDetailsStaticVoltageThresholds, + NetworkInterfacePortDetailsTemperature, + NetworkInterfacePortDetailsTxBias, + NetworkInterfacePortDetailsTxFault, + NetworkInterfacePortDetailsTxPower, + NetworkInterfacePortDetailsVoltage, + NetworkInterfacePost, + NetworkInterfacesPortDetails, + NetworkinterfacepatchEth, + NetworkinterfacepostEth, + NewName, + Offload, + OffloadAzure, + OffloadGoogleCloud, + OffloadNfs, + OffloadPost, + OffloadS3, + OverrideCheck, + PageInfo, + Performance, + Pod, + PodArrayStatus, + PodEradicationConfig, + PodPatch, + PodPerformance, + PodPerformanceByArray, + PodPerformanceReplication, + PodPerformanceReplicationByArray, + PodPost, + PodReplicaLink, + PodReplicaLinkLag, + PodReplicaLinkPatch, + PodReplicaLinkPerformance, + PodReplicaLinkPerformanceReplication, + PodSpace, + Policy, + PolicyMember, + PolicyMemberExport, + PolicyMemberExportPost, + PolicyMemberPost, + PolicyNfs, + PolicyNfsPatch, + PolicyNfsPost, + PolicyPatch, + PolicyPost, + PolicyRuleNfsClient, + PolicyRuleNfsClientPost, + PolicyRuleQuota, + PolicyRuleQuotaPatch, + PolicyRuleQuotaPost, + PolicyRuleSmbClient, + PolicyRuleSmbClientPost, + PolicyRuleSnapshot, + PolicyRuleSnapshotPost, + PolicySmb, + PolicySmbPatch, + PolicySmbPost, + PolicymemberexportpostMembers, + PolicymemberpostMembers, + PolicyrulenfsclientpostRules, + PolicyrulequotapatchRules, + PolicyrulequotapostRules, + PolicyrulesmbclientpostRules, + PolicyrulesnapshotpostRules, + Port, + PortCommon, + PortInitiator, + PriorityAdjustment, + ProtectionGroup, + ProtectionGroupEradicationConfig, + ProtectionGroupPerformance, + ProtectionGroupPerformanceArray, + ProtectionGroupPerformanceByArray, + ProtectionGroupSnapshot, + ProtectionGroupSnapshotPatch, + ProtectionGroupSnapshotPost, + ProtectionGroupSnapshotReplica, + ProtectionGroupSnapshotTransfer, + ProtectionGroupSpace, + ProtectionGroupTarget, + ProtectionGroupsVolumes, + Qos, + Reference, + ReferenceNoId, + ReferenceNoIdWithType, + ReferenceWithType, + RemotePod, + RemoteProtectionGroup, + RemoteProtectionGroupSnapshot, + RemoteProtectionGroupSnapshotPost, + RemoteProtectionGroupSnapshotTransfer, + RemoteVolumeSnapshot, + RemoteVolumeSnapshotTransfer, + ReplicaLinkLag, + ReplicaLinkPerformanceReplication, + ReplicationPerformanceWithTotal, + ReplicationSchedule, + Resource, + ResourceDirectorySpace, + ResourceFixedNonUniqueName, + ResourceNoId, + ResourcePerformance, + ResourcePerformanceByArray, + ResourcePerformanceNoId, + ResourcePerformanceNoIdByArray, + ResourcePodSpace, + ResourceSpace, + ResourceSpaceNoId, + RetentionPolicy, + Saml2Sso, + Saml2SsoIdp, + Saml2SsoPatch, + Saml2SsoPost, + Saml2SsoSp, + Saml2SsoSpCredential, + Session, + Smis, + SmtpServer, + Snapshot, + SnapshotSchedule, + SnapshotSpace, + SnmpAgent, + SnmpAgentMib, + SnmpAgentPatch, + SnmpManager, + SnmpManagerPatch, + SnmpManagerPost, + SnmpV2c, + SnmpV3, + SnmpV3Patch, + SnmpV3Post, + Software, + SoftwareBundle, + SoftwareBundlePost, + SoftwareCheck, + SoftwareChecks, + SoftwareChecksChecks, + SoftwareInstallation, + SoftwareInstallationPatch, + SoftwareInstallationPost, + SoftwareInstallationStep, + SoftwareInstallationSteps, + SoftwareInstallationStepsChecks, + SoftwareInstallations, + SoftwarePatch, + SoftwarePatches, + SoftwarePost, + SoftwareUpgradePlan, + SoftwareVersion, + SoftwareVersions, + Space, + StartEndTime, + Subnet, + SubnetPatch, + SubnetPost, + Subscription, + SubscriptionAsset, + SubscriptionAssetSubscription, + Support, + SupportPatch, + SupportRemoteAssistPaths, + SyslogServer, + SyslogServerSettings, + Tag, + TargetProtectionGroup, + TargetProtectionGroupPostPatch, + TestResult, + TestResultWithResource, + TestResultWithResourceWithId, + Throttle, + TimeWindow, + Transfer, + Username, + Vchost, + VchostCertificate, + VchostCertificatePatch, + VchostCertificatePost, + VchostEndpoint, + VchostEndpointPatch, + VchostEndpointPost, + VchostPatch, + VchostPost, + VirtualMachine, + VirtualMachinePost, + Volume, + VolumeCommon, + VolumeDiff, + VolumeGroup, + VolumeGroupPatch, + VolumeGroupPerformance, + VolumeGroupPost, + VolumeGroupSpace, + VolumePatch, + VolumePerformance, + VolumePerformanceByArray, + VolumePost, + VolumeSnapshot, + VolumeSnapshotPatch, + VolumeSnapshotPost, + VolumeSnapshotTransfer, + VolumeSpace, + VolumeSpaceCommon +] + +if os.environ.get('DOCS_GENERATION') is None: + for model in CLASSES_TO_ADD_PROPS: + add_properties(model) diff --git a/pypureclient/flasharray/FA_2_26/api/__init__.py b/pypureclient/flasharray/FA_2_26/api/__init__.py new file mode 100644 index 000000000..e89cfda63 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/api/__init__.py @@ -0,0 +1,61 @@ +from __future__ import absolute_import + +# import apis into api package +from .api_clients_api import APIClientsApi +from .active_directory_api import ActiveDirectoryApi +from .administrators_api import AdministratorsApi +from .alert_watchers_api import AlertWatchersApi +from .alerts_api import AlertsApi +from .apps_api import AppsApi +from .array_connections_api import ArrayConnectionsApi +from .arrays_api import ArraysApi +from .audits_api import AuditsApi +from .authorization_api import AuthorizationApi +from .certificates_api import CertificatesApi +from .connections_api import ConnectionsApi +from .container_default_protections_api import ContainerDefaultProtectionsApi +from .controllers_api import ControllersApi +from .dns_api import DNSApi +from .directories_api import DirectoriesApi +from .directory_exports_api import DirectoryExportsApi +from .directory_quotas_api import DirectoryQuotasApi +from .directory_services_api import DirectoryServicesApi +from .directory_snapshots_api import DirectorySnapshotsApi +from .drives_api import DrivesApi +from .file_systems_api import FileSystemsApi +from .files_api import FilesApi +from .hardware_api import HardwareApi +from .host_groups_api import HostGroupsApi +from .hosts_api import HostsApi +from .kmip_api import KMIPApi +from .maintenance_windows_api import MaintenanceWindowsApi +from .network_interfaces_api import NetworkInterfacesApi +from .offloads_api import OffloadsApi +from .pod_replica_links_api import PodReplicaLinksApi +from .pods_api import PodsApi +from .policies_api import PoliciesApi +from .ports_api import PortsApi +from .protection_group_snapshots_api import ProtectionGroupSnapshotsApi +from .protection_groups_api import ProtectionGroupsApi +from .remote_pods_api import RemotePodsApi +from .remote_protection_group_snapshots_api import RemoteProtectionGroupSnapshotsApi +from .remote_protection_groups_api import RemoteProtectionGroupsApi +from .remote_volume_snapshots_api import RemoteVolumeSnapshotsApi +from .saml2_sso_api import SAML2SSOApi +from .smi_s_api import SMISApi +from .smtp_api import SMTPApi +from .snmp_agents_api import SNMPAgentsApi +from .snmp_managers_api import SNMPManagersApi +from .sessions_api import SessionsApi +from .software_api import SoftwareApi +from .subnets_api import SubnetsApi +from .subscription_assets_api import SubscriptionAssetsApi +from .subscriptions_api import SubscriptionsApi +from .support_api import SupportApi +from .syslog_api import SyslogApi +from .vchosts_api import VchostsApi +from .virtual_machines_api import VirtualMachinesApi +from .volume_groups_api import VolumeGroupsApi +from .volume_snapshots_api import VolumeSnapshotsApi +from .volumes_api import VolumesApi + diff --git a/pypureclient/flasharray/FA_2_26/api/active_directory_api.py b/pypureclient/flasharray/FA_2_26/api/active_directory_api.py new file mode 100644 index 000000000..44ff82789 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/api/active_directory_api.py @@ -0,0 +1,442 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +from __future__ import absolute_import + +import re + +# python 2 and python 3 compatibility library +import six +from typing import List, Optional + +from .. import models + +class ActiveDirectoryApi(object): + + def __init__(self, api_client): + self.api_client = api_client + + def api226_active_directory_delete_with_http_info( + self, + names=None, # type: List[str] + authorization=None, # type: str + x_request_id=None, # type: str + local_only=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """Delete Active Directory account + + Deletes one or more specified Active Directory accounts. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_active_directory_delete_with_http_info(names, async_req=True) + >>> result = thread.get() + + :param list[str] names: Performs the operation on the unique name specified. For example, `name01`. Enter multiple names in comma-separated format. (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param bool local_only: If specified as `true`, only delete the Active Directory configuration on the local array, without deleting the computer account created in the Active Directory domain. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: None + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'names' is set + if names is None: + raise TypeError("Missing the required parameter `names` when calling `api226_active_directory_delete`") + + collection_formats = {} + path_params = {} + + query_params = [] + if 'local_only' in params: + query_params.append(('local_only', params['local_only'])) + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/active-directory', 'DELETE', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type=None, + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_active_directory_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + filter=None, # type: str + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.ActiveDirectoryGetResponse + """List Active Directory accounts + + Displays configured Active Directory accounts. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_active_directory_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str continuation_token: A token used to retrieve the next page of data with some consistency guaranteed. The token is a Base64 encoded value. Set `continuation_token` to the system-generated token taken from the `x-next-token` header field of the response. A query has reached its last page when the response does not include a token. Pagination requires the `limit` and `continuation_token` query parameters. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: ActiveDirectoryGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_active_directory_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_active_directory_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'continuation_token' in params: + query_params.append(('continuation_token', params['continuation_token'])) + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/active-directory', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='ActiveDirectoryGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_active_directory_patch_with_http_info( + self, + names=None, # type: List[str] + active_directory=None, # type: models.ActiveDirectoryPatch + authorization=None, # type: str + x_request_id=None, # type: str + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.ActiveDirectoryResponse + """Modify Active Directory account + + Modifies specified Active Directory account. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_active_directory_patch_with_http_info(names, active_directory, async_req=True) + >>> result = thread.get() + + :param list[str] names: Performs the operation on the unique name specified. For example, `name01`. Enter multiple names in comma-separated format. (required) + :param ActiveDirectoryPatch active_directory: (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: ActiveDirectoryResponse + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'names' is set + if names is None: + raise TypeError("Missing the required parameter `names` when calling `api226_active_directory_patch`") + # verify the required parameter 'active_directory' is set + if active_directory is None: + raise TypeError("Missing the required parameter `active_directory` when calling `api226_active_directory_patch`") + + collection_formats = {} + path_params = {} + + query_params = [] + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'active_directory' in params: + body_params = params['active_directory'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/active-directory', 'PATCH', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='ActiveDirectoryResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_active_directory_post_with_http_info( + self, + names=None, # type: List[str] + active_directory=None, # type: models.ActiveDirectoryPost + authorization=None, # type: str + x_request_id=None, # type: str + join_existing_account=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.ActiveDirectoryResponse + """Create Active Directory account + + Creates one or more Active Directory accounts. The `user` and `password` provided are used to join the array to the specified `domain`. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_active_directory_post_with_http_info(names, active_directory, async_req=True) + >>> result = thread.get() + + :param list[str] names: Performs the operation on the unique name specified. For example, `name01`. Enter multiple names in comma-separated format. (required) + :param ActiveDirectoryPost active_directory: (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param bool join_existing_account: If specified as `true`, the domain is searched for a pre-existing computer account to join to, and no new account will be created within the domain. The `user` specified when joining a pre-existing account must have permissions to 'read all properties from' and 'reset the password of' the pre-existing account. `join_ou` will be read from the pre-existing account and cannot be specified when joining to an existing account. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: ActiveDirectoryResponse + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'names' is set + if names is None: + raise TypeError("Missing the required parameter `names` when calling `api226_active_directory_post`") + # verify the required parameter 'active_directory' is set + if active_directory is None: + raise TypeError("Missing the required parameter `active_directory` when calling `api226_active_directory_post`") + + collection_formats = {} + path_params = {} + + query_params = [] + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'join_existing_account' in params: + query_params.append(('join_existing_account', params['join_existing_account'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'active_directory' in params: + body_params = params['active_directory'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/active-directory', 'POST', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='ActiveDirectoryResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) diff --git a/pypureclient/flasharray/FA_2_26/api/administrators_api.py b/pypureclient/flasharray/FA_2_26/api/administrators_api.py new file mode 100644 index 000000000..f7c3bd395 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/api/administrators_api.py @@ -0,0 +1,1223 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +from __future__ import absolute_import + +import re + +# python 2 and python 3 compatibility library +import six +from typing import List, Optional + +from .. import models + +class AdministratorsApi(object): + + def __init__(self, api_client): + self.api_client = api_client + + def api226_admins_api_tokens_delete_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """Delete API tokens + + Deletes the API tokens of the specified administrators. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_admins_api_tokens_delete_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: None + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + collection_formats = {} + path_params = {} + + query_params = [] + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/admins/api-tokens', 'DELETE', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type=None, + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_admins_api_tokens_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + expose_api_token=None, # type: bool + filter=None, # type: str + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.AdminApiTokenGetResponse + """List API tokens + + Displays API tokens for the specified administrators. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_admins_api_tokens_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str continuation_token: A token used to retrieve the next page of data with some consistency guaranteed. The token is a Base64 encoded value. Set `continuation_token` to the system-generated token taken from the `x-next-token` header field of the response. A query has reached its last page when the response does not include a token. Pagination requires the `limit` and `continuation_token` query parameters. + :param bool expose_api_token: If `true`, exposes the API token of the current user. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: AdminApiTokenGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_admins_api_tokens_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_admins_api_tokens_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'continuation_token' in params: + query_params.append(('continuation_token', params['continuation_token'])) + if 'expose_api_token' in params: + query_params.append(('expose_api_token', params['expose_api_token'])) + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/admins/api-tokens', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='AdminApiTokenGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_admins_api_tokens_post_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + timeout=None, # type: int + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.AdminApiTokenResponse + """Create API tokens + + Creates API tokens for the specified administrators. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_admins_api_tokens_post_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param int timeout: The duration of API token validity, in milliseconds. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: AdminApiTokenResponse + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + collection_formats = {} + path_params = {} + + query_params = [] + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'timeout' in params: + query_params.append(('timeout', params['timeout'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/admins/api-tokens', 'POST', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='AdminApiTokenResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_admins_cache_delete_with_http_info( + self, + remove_all_entries=None, # type: bool + authorization=None, # type: str + x_request_id=None, # type: str + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """Delete cache entries + + Deletes all entries from the administrator cache. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_admins_cache_delete_with_http_info(remove_all_entries, async_req=True) + >>> result = thread.get() + + :param bool remove_all_entries: If set to `true`, removes all entries from the administrator cache. (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: None + If the method is called asynchronously, + returns the request thread. + """ + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'remove_all_entries' is set + if remove_all_entries is None: + raise TypeError("Missing the required parameter `remove_all_entries` when calling `api226_admins_cache_delete`") + + collection_formats = {} + path_params = {} + + query_params = [] + if 'remove_all_entries' in params: + query_params.append(('remove_all_entries', params['remove_all_entries'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/admins/cache', 'DELETE', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type=None, + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_admins_cache_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + filter=None, # type: str + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.AdminCacheGetResponse + """List administrator cache entries + + Displays entries in the administrator cache. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_admins_cache_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str continuation_token: A token used to retrieve the next page of data with some consistency guaranteed. The token is a Base64 encoded value. Set `continuation_token` to the system-generated token taken from the `x-next-token` header field of the response. A query has reached its last page when the response does not include a token. Pagination requires the `limit` and `continuation_token` query parameters. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: AdminCacheGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_admins_cache_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_admins_cache_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'continuation_token' in params: + query_params.append(('continuation_token', params['continuation_token'])) + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/admins/cache', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='AdminCacheGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_admins_cache_put_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.AdminCacheResponse + """Update or refresh entries in the administrator cache + + Updates entries in the cache for administrators who currently do not have a cache entry, otherwise refreshes the existing entry. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_admins_cache_put_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: AdminCacheResponse + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + collection_formats = {} + path_params = {} + + query_params = [] + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/admins/cache', 'PUT', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='AdminCacheResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_admins_delete_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """Deletes an administrator + + Deletes the specified administrator. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_admins_delete_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: None + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + collection_formats = {} + path_params = {} + + query_params = [] + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/admins', 'DELETE', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type=None, + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_admins_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + expose_api_token=None, # type: bool + filter=None, # type: str + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.AdminGetResponse + """List administrators + + Displays a list of administrators. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_admins_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str continuation_token: A token used to retrieve the next page of data with some consistency guaranteed. The token is a Base64 encoded value. Set `continuation_token` to the system-generated token taken from the `x-next-token` header field of the response. A query has reached its last page when the response does not include a token. Pagination requires the `limit` and `continuation_token` query parameters. + :param bool expose_api_token: If `true`, exposes the API token of the current user. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: AdminGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_admins_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_admins_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'continuation_token' in params: + query_params.append(('continuation_token', params['continuation_token'])) + if 'expose_api_token' in params: + query_params.append(('expose_api_token', params['expose_api_token'])) + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/admins', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='AdminGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_admins_patch_with_http_info( + self, + admin=None, # type: models.AdminPatch + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.AdminResponse + """Modify an administrator + + Modifies properties for the specified administrator. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_admins_patch_with_http_info(admin, async_req=True) + >>> result = thread.get() + + :param AdminPatch admin: (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: AdminResponse + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'admin' is set + if admin is None: + raise TypeError("Missing the required parameter `admin` when calling `api226_admins_patch`") + + collection_formats = {} + path_params = {} + + query_params = [] + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'admin' in params: + body_params = params['admin'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/admins', 'PATCH', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='AdminResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_admins_post_with_http_info( + self, + admin=None, # type: models.AdminPost + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.AdminResponse + """Create an administrator + + Creates an administrator. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_admins_post_with_http_info(admin, async_req=True) + >>> result = thread.get() + + :param AdminPost admin: (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: AdminResponse + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'admin' is set + if admin is None: + raise TypeError("Missing the required parameter `admin` when calling `api226_admins_post`") + + collection_formats = {} + path_params = {} + + query_params = [] + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'admin' in params: + body_params = params['admin'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/admins', 'POST', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='AdminResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_admins_settings_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + filter=None, # type: str + limit=None, # type: int + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.AdminSettingsResponse + """List administrator settings + + Displays the global administrator settings for the array. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_admins_settings_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: AdminSettingsResponse + If the method is called asynchronously, + returns the request thread. + """ + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_admins_settings_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_admins_settings_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/admins/settings', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='AdminSettingsResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_admins_settings_patch_with_http_info( + self, + admin_settings=None, # type: models.AdminSettings + authorization=None, # type: str + x_request_id=None, # type: str + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.AdminSettingsResponse + """Modify administrator settings + + Modifies the global administrator settings for the array. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_admins_settings_patch_with_http_info(admin_settings, async_req=True) + >>> result = thread.get() + + :param AdminSettings admin_settings: (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: AdminSettingsResponse + If the method is called asynchronously, + returns the request thread. + """ + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'admin_settings' is set + if admin_settings is None: + raise TypeError("Missing the required parameter `admin_settings` when calling `api226_admins_settings_patch`") + + collection_formats = {} + path_params = {} + + query_params = [] + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'admin_settings' in params: + body_params = params['admin_settings'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/admins/settings', 'PATCH', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='AdminSettingsResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) diff --git a/pypureclient/flasharray/FA_2_26/api/alert_watchers_api.py b/pypureclient/flasharray/FA_2_26/api/alert_watchers_api.py new file mode 100644 index 000000000..e52b7ea76 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/api/alert_watchers_api.py @@ -0,0 +1,547 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +from __future__ import absolute_import + +import re + +# python 2 and python 3 compatibility library +import six +from typing import List, Optional + +from .. import models + +class AlertWatchersApi(object): + + def __init__(self, api_client): + self.api_client = api_client + + def api226_alert_watchers_delete_with_http_info( + self, + names=None, # type: List[str] + authorization=None, # type: str + x_request_id=None, # type: str + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """Delete alert watcher + + Delete alert watcher email address from the list of alert watchers. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_alert_watchers_delete_with_http_info(names, async_req=True) + >>> result = thread.get() + + :param list[str] names: Performs the operation on the unique name specified. For example, `name01`. Enter multiple names in comma-separated format. (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: None + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'names' is set + if names is None: + raise TypeError("Missing the required parameter `names` when calling `api226_alert_watchers_delete`") + + collection_formats = {} + path_params = {} + + query_params = [] + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/alert-watchers', 'DELETE', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type=None, + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_alert_watchers_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + filter=None, # type: str + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.AlertWatcherGetResponse + """List alert watchers + + Displays alert watcher email addressess and indicates whether they are `enabled`. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_alert_watchers_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str continuation_token: A token used to retrieve the next page of data with some consistency guaranteed. The token is a Base64 encoded value. Set `continuation_token` to the system-generated token taken from the `x-next-token` header field of the response. A query has reached its last page when the response does not include a token. Pagination requires the `limit` and `continuation_token` query parameters. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: AlertWatcherGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_alert_watchers_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_alert_watchers_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'continuation_token' in params: + query_params.append(('continuation_token', params['continuation_token'])) + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/alert-watchers', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='AlertWatcherGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_alert_watchers_patch_with_http_info( + self, + names=None, # type: List[str] + alert_watcher=None, # type: models.AlertWatcherPatch + authorization=None, # type: str + x_request_id=None, # type: str + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.AlertWatcherResponse + """Modify alert watcher + + Modify alert watcher email address by enabling or disabling it. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_alert_watchers_patch_with_http_info(names, alert_watcher, async_req=True) + >>> result = thread.get() + + :param list[str] names: Performs the operation on the unique name specified. For example, `name01`. Enter multiple names in comma-separated format. (required) + :param AlertWatcherPatch alert_watcher: (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: AlertWatcherResponse + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'names' is set + if names is None: + raise TypeError("Missing the required parameter `names` when calling `api226_alert_watchers_patch`") + # verify the required parameter 'alert_watcher' is set + if alert_watcher is None: + raise TypeError("Missing the required parameter `alert_watcher` when calling `api226_alert_watchers_patch`") + + collection_formats = {} + path_params = {} + + query_params = [] + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'alert_watcher' in params: + body_params = params['alert_watcher'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/alert-watchers', 'PATCH', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='AlertWatcherResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_alert_watchers_post_with_http_info( + self, + names=None, # type: List[str] + authorization=None, # type: str + x_request_id=None, # type: str + alert_watcher=None, # type: models.AlertWatcherPost + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.AlertWatcherResponse + """Create alert watcher + + Creates one or more alert watcher email addresses, adding them to the list of alert watchers. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_alert_watchers_post_with_http_info(names, async_req=True) + >>> result = thread.get() + + :param list[str] names: Performs the operation on the unique name specified. For example, `name01`. Enter multiple names in comma-separated format. (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param AlertWatcherPost alert_watcher: + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: AlertWatcherResponse + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'names' is set + if names is None: + raise TypeError("Missing the required parameter `names` when calling `api226_alert_watchers_post`") + + collection_formats = {} + path_params = {} + + query_params = [] + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'alert_watcher' in params: + body_params = params['alert_watcher'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/alert-watchers', 'POST', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='AlertWatcherResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_alert_watchers_test_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + filter=None, # type: str + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.TestResultWithResourceGetResponse + """List alert watcher test + + Displays alert watcher email test results. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_alert_watchers_test_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: TestResultWithResourceGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_alert_watchers_test_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_alert_watchers_test_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/alert-watchers/test', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='TestResultWithResourceGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) diff --git a/pypureclient/flasharray/FA_2_26/api/alerts_api.py b/pypureclient/flasharray/FA_2_26/api/alerts_api.py new file mode 100644 index 000000000..0bea10167 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/api/alerts_api.py @@ -0,0 +1,914 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +from __future__ import absolute_import + +import re + +# python 2 and python 3 compatibility library +import six +from typing import List, Optional + +from .. import models + +class AlertsApi(object): + + def __init__(self, api_client): + self.api_client = api_client + + def api226_alerts_events_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + filter=None, # type: str + flagged=None, # type: bool + ids=None, # type: List[str] + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.AlertEventGetResponse + """List alert events + + Displays a list of alert events. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_alerts_events_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str continuation_token: A token used to retrieve the next page of data with some consistency guaranteed. The token is a Base64 encoded value. Set `continuation_token` to the system-generated token taken from the `x-next-token` header field of the response. A query has reached its last page when the response does not include a token. Pagination requires the `limit` and `continuation_token` query parameters. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param bool flagged: If set to `true`, lists only flagged messages. If set to `false`, lists only unflagged messages. if not specified, lists all messages. + :param list[str] ids: Performs the operation on the unique resource IDs specified. Enter multiple resource IDs in comma-separated format. The `ids` or `names` parameter is required, but they cannot be set together. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param list[str] names: Performs the operation on the unique name specified. For example, `name01`. Enter multiple names in comma-separated format. The `ids` or `names` parameter is required, but they cannot be set together. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: AlertEventGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if ids is not None: + if not isinstance(ids, list): + ids = [ids] + if names is not None: + if not isinstance(names, list): + names = [names] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_alerts_events_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_alerts_events_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'continuation_token' in params: + query_params.append(('continuation_token', params['continuation_token'])) + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'flagged' in params: + query_params.append(('flagged', params['flagged'])) + if 'ids' in params: + query_params.append(('ids', params['ids'])) + collection_formats['ids'] = 'csv' + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/alerts/events', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='AlertEventGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_alerts_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + filter=None, # type: str + flagged=None, # type: bool + ids=None, # type: List[str] + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.AlertGetResponse + """List alerts + + Displays a list of alerts. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_alerts_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str continuation_token: A token used to retrieve the next page of data with some consistency guaranteed. The token is a Base64 encoded value. Set `continuation_token` to the system-generated token taken from the `x-next-token` header field of the response. A query has reached its last page when the response does not include a token. Pagination requires the `limit` and `continuation_token` query parameters. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param bool flagged: If set to `true`, lists only flagged messages. If set to `false`, lists only unflagged messages. if not specified, lists all messages. + :param list[str] ids: Performs the operation on the unique resource IDs specified. Enter multiple resource IDs in comma-separated format. The `ids` or `names` parameter is required, but they cannot be set together. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: AlertGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if ids is not None: + if not isinstance(ids, list): + ids = [ids] + if names is not None: + if not isinstance(names, list): + names = [names] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_alerts_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_alerts_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'continuation_token' in params: + query_params.append(('continuation_token', params['continuation_token'])) + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'flagged' in params: + query_params.append(('flagged', params['flagged'])) + if 'ids' in params: + query_params.append(('ids', params['ids'])) + collection_formats['ids'] = 'csv' + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/alerts', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='AlertGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_alerts_patch_with_http_info( + self, + alert=None, # type: models.Alert + authorization=None, # type: str + x_request_id=None, # type: str + ids=None, # type: List[str] + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.AlertResponse + """Modify flagged state + + Modifies one or more alerts and display updated information about these alerts. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_alerts_patch_with_http_info(alert, async_req=True) + >>> result = thread.get() + + :param Alert alert: (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] ids: Performs the operation on the unique resource IDs specified. Enter multiple resource IDs in comma-separated format. The `ids` or `names` parameter is required, but they cannot be set together. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: AlertResponse + If the method is called asynchronously, + returns the request thread. + """ + if ids is not None: + if not isinstance(ids, list): + ids = [ids] + if names is not None: + if not isinstance(names, list): + names = [names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'alert' is set + if alert is None: + raise TypeError("Missing the required parameter `alert` when calling `api226_alerts_patch`") + + collection_formats = {} + path_params = {} + + query_params = [] + if 'ids' in params: + query_params.append(('ids', params['ids'])) + collection_formats['ids'] = 'csv' + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'alert' in params: + body_params = params['alert'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/alerts', 'PATCH', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='AlertResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_alerts_rules_catalog_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + filter=None, # type: str + limit=None, # type: int + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + code=None, # type: int + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.AlertRulesCatalogGetResponse + """List available customizable alert codes + + Displays a list of available customizable alert codes. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_alerts_rules_catalog_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param int code: The alert code to display. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: AlertRulesCatalogGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_alerts_rules_catalog_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_alerts_rules_catalog_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + if 'code' in params: + query_params.append(('code', params['code'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/alerts/rules/catalog', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='AlertRulesCatalogGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_alerts_rules_delete_with_http_info( + self, + code=None, # type: int + parameter=None, # type: str + authorization=None, # type: str + x_request_id=None, # type: str + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """Delete a custom alert rule + + Deletes a custom alert rule. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_alerts_rules_delete_with_http_info(code, parameter, async_req=True) + >>> result = thread.get() + + :param int code: The alert code that the rule applies to. Available alert codes for customization can be found in the alert rules catalog. (required) + :param str parameter: The parameter of the custom alert rule to modify. Values include `info` and `warning`. Available parameter values can be found in the alert rules catalog. (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: None + If the method is called asynchronously, + returns the request thread. + """ + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'code' is set + if code is None: + raise TypeError("Missing the required parameter `code` when calling `api226_alerts_rules_delete`") + # verify the required parameter 'parameter' is set + if parameter is None: + raise TypeError("Missing the required parameter `parameter` when calling `api226_alerts_rules_delete`") + + collection_formats = {} + path_params = {} + + query_params = [] + if 'code' in params: + query_params.append(('code', params['code'])) + if 'parameter' in params: + query_params.append(('parameter', params['parameter'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/alerts/rules', 'DELETE', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type=None, + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_alerts_rules_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + filter=None, # type: str + limit=None, # type: int + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + code=None, # type: int + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.AlertRulesGetResponse + """List custom alert rules + + Displays a list of custom alert rules. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_alerts_rules_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param int code: The alert code to display. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: AlertRulesGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_alerts_rules_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_alerts_rules_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + if 'code' in params: + query_params.append(('code', params['code'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/alerts/rules', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='AlertRulesGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_alerts_rules_patch_with_http_info( + self, + code=None, # type: int + parameter=None, # type: str + alert_rule=None, # type: models.AlertRules + authorization=None, # type: str + x_request_id=None, # type: str + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.AlertRulesResponse + """Modify a custom alert rule + + Modifies a custom alert rule to a new value. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_alerts_rules_patch_with_http_info(code, parameter, alert_rule, async_req=True) + >>> result = thread.get() + + :param int code: The alert code that the rule applies to. Available alert codes for customization can be found in the alert rules catalog. (required) + :param str parameter: The parameter of the custom alert rule to modify. Values include `info` and `warning`. Available parameter values can be found in the alert rules catalog. (required) + :param AlertRules alert_rule: (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: AlertRulesResponse + If the method is called asynchronously, + returns the request thread. + """ + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'code' is set + if code is None: + raise TypeError("Missing the required parameter `code` when calling `api226_alerts_rules_patch`") + # verify the required parameter 'parameter' is set + if parameter is None: + raise TypeError("Missing the required parameter `parameter` when calling `api226_alerts_rules_patch`") + # verify the required parameter 'alert_rule' is set + if alert_rule is None: + raise TypeError("Missing the required parameter `alert_rule` when calling `api226_alerts_rules_patch`") + + collection_formats = {} + path_params = {} + + query_params = [] + if 'code' in params: + query_params.append(('code', params['code'])) + if 'parameter' in params: + query_params.append(('parameter', params['parameter'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'alert_rule' in params: + body_params = params['alert_rule'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/alerts/rules', 'PATCH', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='AlertRulesResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_alerts_rules_post_with_http_info( + self, + code=None, # type: int + parameter=None, # type: str + alert_rule=None, # type: models.AlertRules + authorization=None, # type: str + x_request_id=None, # type: str + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.AlertRulesResponse + """Create a custom alert rule + + Creates an alert rule with a custom value. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_alerts_rules_post_with_http_info(code, parameter, alert_rule, async_req=True) + >>> result = thread.get() + + :param int code: The alert code that the rule applies to. Available alert codes for customization can be found in the alert rules catalog. (required) + :param str parameter: The parameter of the custom alert rule to modify. Values include `info` and `warning`. Available parameter values can be found in the alert rules catalog. (required) + :param AlertRules alert_rule: (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: AlertRulesResponse + If the method is called asynchronously, + returns the request thread. + """ + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'code' is set + if code is None: + raise TypeError("Missing the required parameter `code` when calling `api226_alerts_rules_post`") + # verify the required parameter 'parameter' is set + if parameter is None: + raise TypeError("Missing the required parameter `parameter` when calling `api226_alerts_rules_post`") + # verify the required parameter 'alert_rule' is set + if alert_rule is None: + raise TypeError("Missing the required parameter `alert_rule` when calling `api226_alerts_rules_post`") + + collection_formats = {} + path_params = {} + + query_params = [] + if 'code' in params: + query_params.append(('code', params['code'])) + if 'parameter' in params: + query_params.append(('parameter', params['parameter'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'alert_rule' in params: + body_params = params['alert_rule'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/alerts/rules', 'POST', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='AlertRulesResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) diff --git a/pypureclient/flasharray/FA_2_26/api/api_clients_api.py b/pypureclient/flasharray/FA_2_26/api/api_clients_api.py new file mode 100644 index 000000000..ef79d1825 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/api/api_clients_api.py @@ -0,0 +1,445 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +from __future__ import absolute_import + +import re + +# python 2 and python 3 compatibility library +import six +from typing import List, Optional + +from .. import models + +class APIClientsApi(object): + + def __init__(self, api_client): + self.api_client = api_client + + def api226_api_clients_delete_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + ids=None, # type: List[str] + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """Delete an API client + + Deletes an API client. The `ids` or `names` parameter is required, but they cannot be set together. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_api_clients_delete_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] ids: Performs the operation on the unique resource IDs specified. Enter multiple resource IDs in comma-separated format. The `ids` or `names` parameter is required, but they cannot be set together. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: None + If the method is called asynchronously, + returns the request thread. + """ + if ids is not None: + if not isinstance(ids, list): + ids = [ids] + if names is not None: + if not isinstance(names, list): + names = [names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + collection_formats = {} + path_params = {} + + query_params = [] + if 'ids' in params: + query_params.append(('ids', params['ids'])) + collection_formats['ids'] = 'csv' + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/api-clients', 'DELETE', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type=None, + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_api_clients_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + filter=None, # type: str + ids=None, # type: List[str] + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.ApiClientGetResponse + """List API clients + + Returns a list of API clients. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_api_clients_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param list[str] ids: Performs the operation on the unique resource IDs specified. Enter multiple resource IDs in comma-separated format. The `ids` or `names` parameter is required, but they cannot be set together. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: ApiClientGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if ids is not None: + if not isinstance(ids, list): + ids = [ids] + if names is not None: + if not isinstance(names, list): + names = [names] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_api_clients_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_api_clients_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'ids' in params: + query_params.append(('ids', params['ids'])) + collection_formats['ids'] = 'csv' + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/api-clients', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='ApiClientGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_api_clients_patch_with_http_info( + self, + api_clients=None, # type: models.ApiClientPatch + authorization=None, # type: str + x_request_id=None, # type: str + ids=None, # type: List[str] + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.ApiClientResponse + """Manage an API client + + Enables or disables an API client. The `ids` or `names` parameter is required, but they cannot be set together. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_api_clients_patch_with_http_info(api_clients, async_req=True) + >>> result = thread.get() + + :param ApiClientPatch api_clients: (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] ids: Performs the operation on the unique resource IDs specified. Enter multiple resource IDs in comma-separated format. The `ids` or `names` parameter is required, but they cannot be set together. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: ApiClientResponse + If the method is called asynchronously, + returns the request thread. + """ + if ids is not None: + if not isinstance(ids, list): + ids = [ids] + if names is not None: + if not isinstance(names, list): + names = [names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'api_clients' is set + if api_clients is None: + raise TypeError("Missing the required parameter `api_clients` when calling `api226_api_clients_patch`") + + collection_formats = {} + path_params = {} + + query_params = [] + if 'ids' in params: + query_params.append(('ids', params['ids'])) + collection_formats['ids'] = 'csv' + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'api_clients' in params: + body_params = params['api_clients'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/api-clients', 'PATCH', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='ApiClientResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_api_clients_post_with_http_info( + self, + api_clients=None, # type: models.ApiClientPost + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.ApiClientResponse + """Create an API client + + Creates an API client. Newly created API clients are disabled by default. Enable an API client through the `PATCH` method. The `names`, `max_role`, `issuer`, and `public_key` parameters are required. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_api_clients_post_with_http_info(api_clients, async_req=True) + >>> result = thread.get() + + :param ApiClientPost api_clients: (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: ApiClientResponse + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'api_clients' is set + if api_clients is None: + raise TypeError("Missing the required parameter `api_clients` when calling `api226_api_clients_post`") + + collection_formats = {} + path_params = {} + + query_params = [] + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'api_clients' in params: + body_params = params['api_clients'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/api-clients', 'POST', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='ApiClientResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) diff --git a/pypureclient/flasharray/FA_2_26/api/apps_api.py b/pypureclient/flasharray/FA_2_26/api/apps_api.py new file mode 100644 index 000000000..7f694a9ab --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/api/apps_api.py @@ -0,0 +1,365 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +from __future__ import absolute_import + +import re + +# python 2 and python 3 compatibility library +import six +from typing import List, Optional + +from .. import models + +class AppsApi(object): + + def __init__(self, api_client): + self.api_client = api_client + + def api226_apps_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + filter=None, # type: str + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.AppGetResponse + """List apps + + Displays a list of installed apps. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_apps_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str continuation_token: A token used to retrieve the next page of data with some consistency guaranteed. The token is a Base64 encoded value. Set `continuation_token` to the system-generated token taken from the `x-next-token` header field of the response. A query has reached its last page when the response does not include a token. Pagination requires the `limit` and `continuation_token` query parameters. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: AppGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_apps_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_apps_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'continuation_token' in params: + query_params.append(('continuation_token', params['continuation_token'])) + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/apps', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='AppGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_apps_nodes_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + app_names=None, # type: List[str] + filter=None, # type: str + limit=None, # type: int + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.AppNodeGetResponse + """List app nodes + + Displays a list of installed apps and their nodes. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_apps_nodes_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str continuation_token: A token used to retrieve the next page of data with some consistency guaranteed. The token is a Base64 encoded value. Set `continuation_token` to the system-generated token taken from the `x-next-token` header field of the response. A query has reached its last page when the response does not include a token. Pagination requires the `limit` and `continuation_token` query parameters. + :param list[str] app_names: The name of the installed app. Enter multiple names in comma-separated format. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: AppNodeGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if app_names is not None: + if not isinstance(app_names, list): + app_names = [app_names] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_apps_nodes_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_apps_nodes_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'continuation_token' in params: + query_params.append(('continuation_token', params['continuation_token'])) + if 'app_names' in params: + query_params.append(('app_names', params['app_names'])) + collection_formats['app_names'] = 'csv' + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/apps/nodes', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='AppNodeGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_apps_patch_with_http_info( + self, + names=None, # type: List[str] + app=None, # type: models.App + authorization=None, # type: str + x_request_id=None, # type: str + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.AppResponse + """Modify app + + Modifies an installed app or modifies Virtual Network Computing (VNC) access for apps that are being patched. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_apps_patch_with_http_info(names, app, async_req=True) + >>> result = thread.get() + + :param list[str] names: Performs the operation on the unique name specified. For example, `name01`. Enter multiple names in comma-separated format. (required) + :param App app: (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: AppResponse + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'names' is set + if names is None: + raise TypeError("Missing the required parameter `names` when calling `api226_apps_patch`") + # verify the required parameter 'app' is set + if app is None: + raise TypeError("Missing the required parameter `app` when calling `api226_apps_patch`") + + collection_formats = {} + path_params = {} + + query_params = [] + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'app' in params: + body_params = params['app'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/apps', 'PATCH', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='AppResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) diff --git a/pypureclient/flasharray/FA_2_26/api/array_connections_api.py b/pypureclient/flasharray/FA_2_26/api/array_connections_api.py new file mode 100644 index 000000000..22d0cf263 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/api/array_connections_api.py @@ -0,0 +1,609 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +from __future__ import absolute_import + +import re + +# python 2 and python 3 compatibility library +import six +from typing import List, Optional + +from .. import models + +class ArrayConnectionsApi(object): + + def __init__(self, api_client): + self.api_client = api_client + + def api226_array_connections_connection_key_get_with_http_info( + self, + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.ArrayConnectionKeyGetResponse + """List connection key + + Displays the connection key for the array. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_array_connections_connection_key_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: ArrayConnectionKeyGetResponse + If the method is called asynchronously, + returns the request thread. + """ + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + collection_formats = {} + path_params = {} + + query_params = [] + + header_params = {} + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/array-connections/connection-key', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='ArrayConnectionKeyGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_array_connections_delete_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """Delete an array connection + + Deletes the connection to the current array from the specified array. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_array_connections_delete_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: None + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + collection_formats = {} + path_params = {} + + query_params = [] + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/array-connections', 'DELETE', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type=None, + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_array_connections_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + filter=None, # type: str + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.ArrayConnectionGetResponse + """List connected arrays + + Display a list of connected arrays. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_array_connections_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str continuation_token: A token used to retrieve the next page of data with some consistency guaranteed. The token is a Base64 encoded value. Set `continuation_token` to the system-generated token taken from the `x-next-token` header field of the response. A query has reached its last page when the response does not include a token. Pagination requires the `limit` and `continuation_token` query parameters. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: ArrayConnectionGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_array_connections_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_array_connections_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'continuation_token' in params: + query_params.append(('continuation_token', params['continuation_token'])) + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/array-connections', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='ArrayConnectionGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_array_connections_patch_with_http_info( + self, + array_connection=None, # type: models.Throttle + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.ArrayConnectionResponse + """Modify an array connection + + Modifies the bandwidth throttling attributes for a connected array. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_array_connections_patch_with_http_info(array_connection, async_req=True) + >>> result = thread.get() + + :param Throttle array_connection: (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: ArrayConnectionResponse + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'array_connection' is set + if array_connection is None: + raise TypeError("Missing the required parameter `array_connection` when calling `api226_array_connections_patch`") + + collection_formats = {} + path_params = {} + + query_params = [] + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'array_connection' in params: + body_params = params['array_connection'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/array-connections', 'PATCH', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='ArrayConnectionResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_array_connections_path_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + filter=None, # type: str + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.ArrayConnectionPathGetResponse + """List connection path + + Displays the connection path from the array where the connection was made. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_array_connections_path_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str continuation_token: A token used to retrieve the next page of data with some consistency guaranteed. The token is a Base64 encoded value. Set `continuation_token` to the system-generated token taken from the `x-next-token` header field of the response. A query has reached its last page when the response does not include a token. Pagination requires the `limit` and `continuation_token` query parameters. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: ArrayConnectionPathGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_array_connections_path_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_array_connections_path_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'continuation_token' in params: + query_params.append(('continuation_token', params['continuation_token'])) + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/array-connections/path', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='ArrayConnectionPathGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_array_connections_post_with_http_info( + self, + array_connection=None, # type: models.ArrayConnectionPost + authorization=None, # type: str + x_request_id=None, # type: str + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.ArrayConnectionResponse + """Create an array connection + + Creates a connection between the current array and the specified array. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_array_connections_post_with_http_info(array_connection, async_req=True) + >>> result = thread.get() + + :param ArrayConnectionPost array_connection: (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: ArrayConnectionResponse + If the method is called asynchronously, + returns the request thread. + """ + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'array_connection' is set + if array_connection is None: + raise TypeError("Missing the required parameter `array_connection` when calling `api226_array_connections_post`") + + collection_formats = {} + path_params = {} + + query_params = [] + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'array_connection' in params: + body_params = params['array_connection'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/array-connections', 'POST', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='ArrayConnectionResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) diff --git a/pypureclient/flasharray/FA_2_26/api/arrays_api.py b/pypureclient/flasharray/FA_2_26/api/arrays_api.py new file mode 100644 index 000000000..16c28e650 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/api/arrays_api.py @@ -0,0 +1,1509 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +from __future__ import absolute_import + +import re + +# python 2 and python 3 compatibility library +import six +from typing import List, Optional + +from .. import models + +class ArraysApi(object): + + def __init__(self, api_client): + self.api_client = api_client + + def api226_arrays_cloud_provider_tags_batch_put_with_http_info( + self, + tag=None, # type: List[models.CloudProviderTag] + authorization=None, # type: str + x_request_id=None, # type: str + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.CloudProviderTagResponse + """Update user tags on the cloud. + + Updates users tags to deployed cloud resources of a CBS array. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_arrays_cloud_provider_tags_batch_put_with_http_info(tag, async_req=True) + >>> result = thread.get() + + :param list[CloudProviderTag] tag: A list of tags to be created or, if already existing, updated. (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: CloudProviderTagResponse + If the method is called asynchronously, + returns the request thread. + """ + if tag is not None: + if not isinstance(tag, list): + tag = [tag] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'tag' is set + if tag is None: + raise TypeError("Missing the required parameter `tag` when calling `api226_arrays_cloud_provider_tags_batch_put`") + + collection_formats = {} + path_params = {} + + query_params = [] + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'tag' in params: + body_params = params['tag'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/arrays/cloud-provider-tags/batch', 'PUT', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='CloudProviderTagResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_arrays_cloud_provider_tags_delete_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + keys=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """Delete user tags from the cloud. + + Deletes user tags from deployed cloud resources of a CBS array. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_arrays_cloud_provider_tags_delete_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] keys: A comma-separated list of tag keys. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: None + If the method is called asynchronously, + returns the request thread. + """ + if keys is not None: + if not isinstance(keys, list): + keys = [keys] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + collection_formats = {} + path_params = {} + + query_params = [] + if 'keys' in params: + query_params.append(('keys', params['keys'])) + collection_formats['keys'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/arrays/cloud-provider-tags', 'DELETE', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type=None, + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_arrays_cloud_provider_tags_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + filter=None, # type: str + limit=None, # type: int + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.CloudProviderTagGetResponse + """List user tags on the cloud. + + Displays the list of user tags on deployed cloud resources of a CBS array. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_arrays_cloud_provider_tags_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str continuation_token: A token used to retrieve the next page of data with some consistency guaranteed. The token is a Base64 encoded value. Set `continuation_token` to the system-generated token taken from the `x-next-token` header field of the response. A query has reached its last page when the response does not include a token. Pagination requires the `limit` and `continuation_token` query parameters. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: CloudProviderTagGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_arrays_cloud_provider_tags_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_arrays_cloud_provider_tags_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'continuation_token' in params: + query_params.append(('continuation_token', params['continuation_token'])) + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/arrays/cloud-provider-tags', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='CloudProviderTagGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_arrays_delete_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + eradicate_all_data=None, # type: bool + factory_reset_token=None, # type: int + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """Delete an array + + Deletes an array. For physical appliances, deleting an array restores the hardware to factory settings. This entails deleting all data, metadata, configuration, and logs. The array returns to the state it was in prior to any configuration changes being made. If the hardware is reused, it must be as a different array with a new ID. For virtual appliances, deleting an array puts it into an unusable state. Virtual resources (e.g., virtual machines) can later be freed, which deletes any remaining data, metadata, configuration, and logs. Prior to factory reset, an array must be manually prepared (e.g., all volumes and snapshots must be eradicated) and a factory reset token must be created. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_arrays_delete_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param bool eradicate_all_data: Set to `true` to perform a factory reset. + :param int factory_reset_token: A token required to perform a factory reset. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: None + If the method is called asynchronously, + returns the request thread. + """ + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + collection_formats = {} + path_params = {} + + query_params = [] + if 'eradicate_all_data' in params: + query_params.append(('eradicate_all_data', params['eradicate_all_data'])) + if 'factory_reset_token' in params: + query_params.append(('factory_reset_token', params['factory_reset_token'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/arrays', 'DELETE', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type=None, + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_arrays_eula_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + filter=None, # type: str + limit=None, # type: int + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.EulaGetResponse + """List End User Agreement and signature + + Displays the End User Agreement and signature. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_arrays_eula_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: EulaGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_arrays_eula_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_arrays_eula_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/arrays/eula', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='EulaGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_arrays_eula_patch_with_http_info( + self, + eula=None, # type: models.Eula + authorization=None, # type: str + x_request_id=None, # type: str + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.EulaResponse + """Modify signature on the End User Agreement + + Modifies the signature on the End User Agreement. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_arrays_eula_patch_with_http_info(eula, async_req=True) + >>> result = thread.get() + + :param Eula eula: (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: EulaResponse + If the method is called asynchronously, + returns the request thread. + """ + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'eula' is set + if eula is None: + raise TypeError("Missing the required parameter `eula` when calling `api226_arrays_eula_patch`") + + collection_formats = {} + path_params = {} + + query_params = [] + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'eula' in params: + body_params = params['eula'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/arrays/eula', 'PATCH', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='EulaResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_arrays_factory_reset_token_delete_with_http_info( + self, + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """Delete a factory reset token + + Deletes an existing token that could be used to perform a factory reset on the array. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_arrays_factory_reset_token_delete_with_http_info(async_req=True) + >>> result = thread.get() + + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: None + If the method is called asynchronously, + returns the request thread. + """ + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + collection_formats = {} + path_params = {} + + query_params = [] + + header_params = {} + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/arrays/factory-reset-token', 'DELETE', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type=None, + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_arrays_factory_reset_token_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + filter=None, # type: str + limit=None, # type: int + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.ArrayFactoryResetTokenGetResponse + """List factory reset tokens + + Displays a list of tokens used to perform a factory reset on the array. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_arrays_factory_reset_token_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: ArrayFactoryResetTokenGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_arrays_factory_reset_token_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_arrays_factory_reset_token_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/arrays/factory-reset-token', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='ArrayFactoryResetTokenGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_arrays_factory_reset_token_post_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.ArrayFactoryResetTokenResponse + """Create a factory reset token + + Creates a token that can be used to perform a factory reset on the array. Factory reset tokens can only be created after the array has been prepared for reset (e.g., all volumes and snapshots must first be eradicated). After a token has been created, operations that would take the array out of the prepared state are disabled (e.g., creating volumes) until all tokens have been deleted. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_arrays_factory_reset_token_post_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: ArrayFactoryResetTokenResponse + If the method is called asynchronously, + returns the request thread. + """ + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + collection_formats = {} + path_params = {} + + query_params = [] + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/arrays/factory-reset-token', 'POST', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='ArrayFactoryResetTokenResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_arrays_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + filter=None, # type: str + limit=None, # type: int + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.ArrayGetResponse + """List arrays + + Displays general array properties including the array name, login banner, idle timeout for management sessions, and NTP servers. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_arrays_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: ArrayGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_arrays_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_arrays_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/arrays', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='ArrayGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_arrays_ntp_test_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.TestResultGetResponse + """List NTP test results + + Displays test results for configured NTP servers. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_arrays_ntp_test_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: TestResultGetResponse + If the method is called asynchronously, + returns the request thread. + """ + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + collection_formats = {} + path_params = {} + + query_params = [] + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/arrays/ntp-test', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='TestResultGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_arrays_patch_with_http_info( + self, + array=None, # type: models.Arrays + authorization=None, # type: str + x_request_id=None, # type: str + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.ArrayResponse + """Modify an array + + Modifies general array properties such as the array name, login banner, idle timeout for management sessions, and NTP servers. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_arrays_patch_with_http_info(array, async_req=True) + >>> result = thread.get() + + :param Arrays array: (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: ArrayResponse + If the method is called asynchronously, + returns the request thread. + """ + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'array' is set + if array is None: + raise TypeError("Missing the required parameter `array` when calling `api226_arrays_patch`") + + collection_formats = {} + path_params = {} + + query_params = [] + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'array' in params: + body_params = params['array'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/arrays', 'PATCH', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='ArrayResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_arrays_performance_by_link_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + filter=None, # type: str + end_time=None, # type: int + resolution=None, # type: int + start_time=None, # type: int + limit=None, # type: int + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.ArrayPerformanceByLinkGetResponse + """List array front-end IO performance data by link + + Displays real-time and historical front-end performance data at the array level including latency, bandwidth, IOPS, average I/O size, and queue depth. Group output is shown by link. A link represents a set of arrays that an I/O operation depends on. For local-only I/Os, this is a local array. For mirrored I/Os, this is a set of synchronous replication peer arrays. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_arrays_performance_by_link_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param int end_time: Displays historical performance data for the specified time window, where `start_time` is the beginning of the time window, and `end_time` is the end of the time window. The `start_time` and `end_time` parameters are specified in milliseconds since the UNIX epoch. If `start_time` is not specified, the start time will default to one resolution before the end time, meaning that the most recent sample of performance data will be displayed. If `end_time`is not specified, the end time will default to the current time. Include the `resolution` parameter to display the performance data at the specified resolution. If not specified, `resolution` defaults to the lowest valid resolution. + :param int resolution: The number of milliseconds between samples of historical data. For array-wide performance metrics (`/arrays/performance` endpoint), valid values are `1000` (1 second), `30000` (30 seconds), `300000` (5 minutes), `1800000` (30 minutes), `7200000` (2 hours), `28800000` (8 hours), and `86400000` (24 hours). For performance metrics on storage objects (`/performance` endpoint), such as volumes, valid values are `30000` (30 seconds), `300000` (5 minutes), `1800000` (30 minutes), `7200000` (2 hours), `28800000` (8 hours), and `86400000` (24 hours). For space metrics, (`/space` endpoint), valid values are `300000` (5 minutes), `1800000` (30 minutes), `7200000` (2 hours), `28800000` (8 hours), and `86400000` (24 hours). Include the `start_time` parameter to display the performance data starting at the specified start time. If `start_time` is not specified, the start time will default to one resolution before the end time, meaning that the most recent sample of performance data will be displayed. Include the `end_time` parameter to display the performance data until the specified end time. If `end_time`is not specified, the end time will default to the current time. If the `resolution` parameter is not specified but either the `start_time` or `end_time` parameter is, then `resolution` will default to the lowest valid resolution. + :param int start_time: Displays historical performance data for the specified time window, where `start_time` is the beginning of the time window, and `end_time` is the end of the time window. The `start_time` and `end_time` parameters are specified in milliseconds since the UNIX epoch. If `start_time` is not specified, the start time will default to one resolution before the end time, meaning that the most recent sample of performance data will be displayed. If `end_time`is not specified, the end time will default to the current time. Include the `resolution` parameter to display the performance data at the specified resolution. If not specified, `resolution` defaults to the lowest valid resolution. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: ArrayPerformanceByLinkGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'resolution' in params and params['resolution'] < 0: + raise ValueError("Invalid value for parameter `resolution` when calling `api226_arrays_performance_by_link_get`, must be a value greater than or equal to `0`") + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_arrays_performance_by_link_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_arrays_performance_by_link_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'end_time' in params: + query_params.append(('end_time', params['end_time'])) + if 'resolution' in params: + query_params.append(('resolution', params['resolution'])) + if 'start_time' in params: + query_params.append(('start_time', params['start_time'])) + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/arrays/performance/by-link', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='ArrayPerformanceByLinkGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_arrays_performance_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + filter=None, # type: str + end_time=None, # type: int + resolution=None, # type: int + start_time=None, # type: int + protocol=None, # type: str + protocol_group=None, # type: str + limit=None, # type: int + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.ArrayPerformanceGetResponse + """List array front-end performance data + + Displays real-time and historical front-end performance data at the array level including latency, bandwidth, IOPS, average I/O size, and queue depth. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_arrays_performance_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param int end_time: Displays historical performance data for the specified time window, where `start_time` is the beginning of the time window, and `end_time` is the end of the time window. The `start_time` and `end_time` parameters are specified in milliseconds since the UNIX epoch. If `start_time` is not specified, the start time will default to one resolution before the end time, meaning that the most recent sample of performance data will be displayed. If `end_time`is not specified, the end time will default to the current time. Include the `resolution` parameter to display the performance data at the specified resolution. If not specified, `resolution` defaults to the lowest valid resolution. + :param int resolution: The number of milliseconds between samples of historical data. For array-wide performance metrics (`/arrays/performance` endpoint), valid values are `1000` (1 second), `30000` (30 seconds), `300000` (5 minutes), `1800000` (30 minutes), `7200000` (2 hours), `28800000` (8 hours), and `86400000` (24 hours). For performance metrics on storage objects (`/performance` endpoint), such as volumes, valid values are `30000` (30 seconds), `300000` (5 minutes), `1800000` (30 minutes), `7200000` (2 hours), `28800000` (8 hours), and `86400000` (24 hours). For space metrics, (`/space` endpoint), valid values are `300000` (5 minutes), `1800000` (30 minutes), `7200000` (2 hours), `28800000` (8 hours), and `86400000` (24 hours). Include the `start_time` parameter to display the performance data starting at the specified start time. If `start_time` is not specified, the start time will default to one resolution before the end time, meaning that the most recent sample of performance data will be displayed. Include the `end_time` parameter to display the performance data until the specified end time. If `end_time`is not specified, the end time will default to the current time. If the `resolution` parameter is not specified but either the `start_time` or `end_time` parameter is, then `resolution` will default to the lowest valid resolution. + :param int start_time: Displays historical performance data for the specified time window, where `start_time` is the beginning of the time window, and `end_time` is the end of the time window. The `start_time` and `end_time` parameters are specified in milliseconds since the UNIX epoch. If `start_time` is not specified, the start time will default to one resolution before the end time, meaning that the most recent sample of performance data will be displayed. If `end_time`is not specified, the end time will default to the current time. Include the `resolution` parameter to display the performance data at the specified resolution. If not specified, `resolution` defaults to the lowest valid resolution. + :param str protocol: Protocol type. Valid values are `nfs`, `smb`, and `all`. + :param str protocol_group: Protocol group type. Valid values are `block`, `file`, and `all`. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: ArrayPerformanceGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'resolution' in params and params['resolution'] < 0: + raise ValueError("Invalid value for parameter `resolution` when calling `api226_arrays_performance_get`, must be a value greater than or equal to `0`") + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_arrays_performance_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_arrays_performance_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'end_time' in params: + query_params.append(('end_time', params['end_time'])) + if 'resolution' in params: + query_params.append(('resolution', params['resolution'])) + if 'start_time' in params: + query_params.append(('start_time', params['start_time'])) + if 'protocol' in params: + query_params.append(('protocol', params['protocol'])) + if 'protocol_group' in params: + query_params.append(('protocol_group', params['protocol_group'])) + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/arrays/performance', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='ArrayPerformanceGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_arrays_space_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + filter=None, # type: str + end_time=None, # type: int + resolution=None, # type: int + start_time=None, # type: int + limit=None, # type: int + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.ArraySpaceGetResponse + """List array space information + + Displays real-time and historical array space information including unique volume and snapshot space, shared space, data reduction, provisioned capacity, usable capacity, and parity. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_arrays_space_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param int end_time: Displays historical performance data for the specified time window, where `start_time` is the beginning of the time window, and `end_time` is the end of the time window. The `start_time` and `end_time` parameters are specified in milliseconds since the UNIX epoch. If `start_time` is not specified, the start time will default to one resolution before the end time, meaning that the most recent sample of performance data will be displayed. If `end_time`is not specified, the end time will default to the current time. Include the `resolution` parameter to display the performance data at the specified resolution. If not specified, `resolution` defaults to the lowest valid resolution. + :param int resolution: The number of milliseconds between samples of historical data. For array-wide performance metrics (`/arrays/performance` endpoint), valid values are `1000` (1 second), `30000` (30 seconds), `300000` (5 minutes), `1800000` (30 minutes), `7200000` (2 hours), `28800000` (8 hours), and `86400000` (24 hours). For performance metrics on storage objects (`/performance` endpoint), such as volumes, valid values are `30000` (30 seconds), `300000` (5 minutes), `1800000` (30 minutes), `7200000` (2 hours), `28800000` (8 hours), and `86400000` (24 hours). For space metrics, (`/space` endpoint), valid values are `300000` (5 minutes), `1800000` (30 minutes), `7200000` (2 hours), `28800000` (8 hours), and `86400000` (24 hours). Include the `start_time` parameter to display the performance data starting at the specified start time. If `start_time` is not specified, the start time will default to one resolution before the end time, meaning that the most recent sample of performance data will be displayed. Include the `end_time` parameter to display the performance data until the specified end time. If `end_time`is not specified, the end time will default to the current time. If the `resolution` parameter is not specified but either the `start_time` or `end_time` parameter is, then `resolution` will default to the lowest valid resolution. + :param int start_time: Displays historical performance data for the specified time window, where `start_time` is the beginning of the time window, and `end_time` is the end of the time window. The `start_time` and `end_time` parameters are specified in milliseconds since the UNIX epoch. If `start_time` is not specified, the start time will default to one resolution before the end time, meaning that the most recent sample of performance data will be displayed. If `end_time`is not specified, the end time will default to the current time. Include the `resolution` parameter to display the performance data at the specified resolution. If not specified, `resolution` defaults to the lowest valid resolution. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: ArraySpaceGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'resolution' in params and params['resolution'] < 0: + raise ValueError("Invalid value for parameter `resolution` when calling `api226_arrays_space_get`, must be a value greater than or equal to `0`") + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_arrays_space_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_arrays_space_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'end_time' in params: + query_params.append(('end_time', params['end_time'])) + if 'resolution' in params: + query_params.append(('resolution', params['resolution'])) + if 'start_time' in params: + query_params.append(('start_time', params['start_time'])) + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/arrays/space', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='ArraySpaceGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) diff --git a/pypureclient/flasharray/FA_2_26/api/audits_api.py b/pypureclient/flasharray/FA_2_26/api/audits_api.py new file mode 100644 index 000000000..fcbe36d56 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/api/audits_api.py @@ -0,0 +1,155 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +from __future__ import absolute_import + +import re + +# python 2 and python 3 compatibility library +import six +from typing import List, Optional + +from .. import models + +class AuditsApi(object): + + def __init__(self, api_client): + self.api_client = api_client + + def api226_audits_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + filter=None, # type: str + ids=None, # type: List[str] + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.AuditGetResponse + """List audits + + Displays a list of audits. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_audits_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str continuation_token: A token used to retrieve the next page of data with some consistency guaranteed. The token is a Base64 encoded value. Set `continuation_token` to the system-generated token taken from the `x-next-token` header field of the response. A query has reached its last page when the response does not include a token. Pagination requires the `limit` and `continuation_token` query parameters. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param list[str] ids: Performs the operation on the unique resource IDs specified. Enter multiple resource IDs in comma-separated format. The `ids` or `names` parameter is required, but they cannot be set together. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: AuditGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if ids is not None: + if not isinstance(ids, list): + ids = [ids] + if names is not None: + if not isinstance(names, list): + names = [names] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_audits_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_audits_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'continuation_token' in params: + query_params.append(('continuation_token', params['continuation_token'])) + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'ids' in params: + query_params.append(('ids', params['ids'])) + collection_formats['ids'] = 'csv' + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/audits', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='AuditGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) diff --git a/pypureclient/flasharray/FA_2_26/api/authorization_api.py b/pypureclient/flasharray/FA_2_26/api/authorization_api.py new file mode 100644 index 000000000..ab8e53f67 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/api/authorization_api.py @@ -0,0 +1,344 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +from __future__ import absolute_import + +import re + +# python 2 and python 3 compatibility library +import six +from typing import List, Optional + +from .. import models + +class AuthorizationApi(object): + + def __init__(self, api_client): + self.api_client = api_client + + def api226_login_post_with_http_info( + self, + api_token=None, # type: str + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.UsernameResponse + """POST login (placeholder) + + Exchange an API token for a session token. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_login_post_with_http_info(async_req=True) + >>> result = thread.get() + + :param str api_token: API token for a user. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: UsernameResponse + If the method is called asynchronously, + returns the request thread. + """ + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + collection_formats = {} + path_params = {} + + query_params = [] + + header_params = {} + if 'api_token' in params: + header_params['api-token'] = params['api_token'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/login', 'POST', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='UsernameResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_logout_post_with_http_info( + self, + x_auth_token=None, # type: str + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """POST logout (placeholder) + + Invalidate a session token. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_logout_post_with_http_info(async_req=True) + >>> result = thread.get() + + :param str x_auth_token: Session token for a user. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: None + If the method is called asynchronously, + returns the request thread. + """ + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + collection_formats = {} + path_params = {} + + query_params = [] + + header_params = {} + if 'x_auth_token' in params: + header_params['x-auth-token'] = params['x_auth_token'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/logout', 'POST', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type=None, + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api_api_version_get_with_http_info( + self, + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.ApiVersionResponse + """List available API versions + + Returns a list of available API versions. No authentication is required to access this endpoint. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api_api_version_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: ApiVersionResponse + If the method is called asynchronously, + returns the request thread. + """ + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + collection_formats = {} + path_params = {} + + query_params = [] + + header_params = {} + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/api_version', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='ApiVersionResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def oauth210_token_post_with_http_info( + self, + grant_type=None, # type: str + subject_token=None, # type: str + subject_token_type=None, # type: str + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.OauthTokenResponse + """Get access token + + Exchanges an ID Token for an OAuth 2.0 access token. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.oauth210_token_post_with_http_info(grant_type, subject_token, subject_token_type, async_req=True) + >>> result = thread.get() + + :param str grant_type: The method by which the access token will be obtained. The Pure Storage REST API supports the OAuth 2.0 \"token exchange\" grant type, which indicates that a token exchange is being performed. Set `grant_type` to `urn:ietf:params:oauth:grant-type:token-exchange`. (required) + :param str subject_token: An encoded security ID Token representing the identity of the party on behalf of whom the request is being made. The token must be issued by a trusted identity provider which must be either a registered application in Pure1 or an enabled API client on the array. The token must be a JSON Web Token and must contain the following claims: > | JWT claim | Location | API Client Field | Description | Required By | > |-|-|-|-|-| > | kid | Header | key_id | Key ID of the API client that issues the identity token. | FlashArray and FlashBlade only. | > | aud | Payload | id | Client ID of the API client that issues the identity token. | FlashArray and FlashBlade only. | > | sub | Payload | | Login name of the array user for whom the token should be issued. This must be a valid user in the system. | FlashArray and FlashBlade only. | > | iss | Payload | issuer | Application ID for the Pure1 or API client's trusted identity issuer on the array. | All products. | > | iat | Payload | | Timestamp of when the identity token was issued. Measured in milliseconds since the UNIX epoch. | All products. | > | exp | Payload | | Timestamp of when the identity token will expire. Measured in milliseconds since the UNIX epoch. | All products. | Each token must also be signed with the private key that is paired with the API client's public key. (required) + :param str subject_token_type: An identifier that indicates the type of security token specifed in the `subject_token` parameter. The Pure Storage REST API supports the JSON Web Token (JWT) as the means for requesting the access token. Set `subject_token_type` to `urn:ietf:params:oauth:token-type:jwt`. (required) + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: OauthTokenResponse + If the method is called asynchronously, + returns the request thread. + """ + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'grant_type' is set + if grant_type is None: + raise TypeError("Missing the required parameter `grant_type` when calling `oauth210_token_post`") + # verify the required parameter 'subject_token' is set + if subject_token is None: + raise TypeError("Missing the required parameter `subject_token` when calling `oauth210_token_post`") + # verify the required parameter 'subject_token_type' is set + if subject_token_type is None: + raise TypeError("Missing the required parameter `subject_token_type` when calling `oauth210_token_post`") + + collection_formats = {} + path_params = {} + + query_params = [] + + header_params = {} + + form_params = [] + local_var_files = {} + if 'grant_type' in params: + form_params.append(('grant_type', params['grant_type'])) + if 'subject_token' in params: + form_params.append(('subject_token', params['subject_token'])) + if 'subject_token_type' in params: + form_params.append(('subject_token_type', params['subject_token_type'])) + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/x-www-form-urlencoded']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/oauth2/1.0/token', 'POST', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='OauthTokenResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) diff --git a/pypureclient/flasharray/FA_2_26/api/certificates_api.py b/pypureclient/flasharray/FA_2_26/api/certificates_api.py new file mode 100644 index 000000000..21c2856a7 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/api/certificates_api.py @@ -0,0 +1,516 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +from __future__ import absolute_import + +import re + +# python 2 and python 3 compatibility library +import six +from typing import List, Optional + +from .. import models + +class CertificatesApi(object): + + def __init__(self, api_client): + self.api_client = api_client + + def api226_certificates_certificate_signing_requests_post_with_http_info( + self, + certificate=None, # type: models.CertificateSigningRequestPost + authorization=None, # type: str + x_request_id=None, # type: str + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.CertificateSigningRequestResponse + """Create certificate signing request + + Creates a certificate signing request based on the certificate type and parameters. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_certificates_certificate_signing_requests_post_with_http_info(certificate, async_req=True) + >>> result = thread.get() + + :param CertificateSigningRequestPost certificate: (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: CertificateSigningRequestResponse + If the method is called asynchronously, + returns the request thread. + """ + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'certificate' is set + if certificate is None: + raise TypeError("Missing the required parameter `certificate` when calling `api226_certificates_certificate_signing_requests_post`") + + collection_formats = {} + path_params = {} + + query_params = [] + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'certificate' in params: + body_params = params['certificate'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/certificates/certificate-signing-requests', 'POST', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='CertificateSigningRequestResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_certificates_delete_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """Delete certificate + + Deletes a specific certificate object. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_certificates_delete_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: None + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + collection_formats = {} + path_params = {} + + query_params = [] + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/certificates', 'DELETE', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type=None, + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_certificates_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + filter=None, # type: str + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.CertificateGetResponse + """List certificate attributes + + Displays certificate attributes. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_certificates_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str continuation_token: A token used to retrieve the next page of data with some consistency guaranteed. The token is a Base64 encoded value. Set `continuation_token` to the system-generated token taken from the `x-next-token` header field of the response. A query has reached its last page when the response does not include a token. Pagination requires the `limit` and `continuation_token` query parameters. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: CertificateGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_certificates_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_certificates_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'continuation_token' in params: + query_params.append(('continuation_token', params['continuation_token'])) + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/certificates', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='CertificateGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_certificates_patch_with_http_info( + self, + certificate=None, # type: models.CertificatePost + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + generate_new_key=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.CertificateResponse + """Modify certificates + + Modifies certificate attributes. When you modify the attributes of a self-signed certificate, Purity//FA replaces the existing certificate with a new certificate, which is generated with the specified attributes. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_certificates_patch_with_http_info(certificate, async_req=True) + >>> result = thread.get() + + :param CertificatePost certificate: (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param bool generate_new_key: If set to `true`, a new private key is generated when generating a new certificate with the specified attributes. This may not be set to `true` when importing a certificate and private key, and may not be set to `false` when generating a new self-signed certificate to replace a certificate that was imported. Default setting is `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: CertificateResponse + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'certificate' is set + if certificate is None: + raise TypeError("Missing the required parameter `certificate` when calling `api226_certificates_patch`") + + collection_formats = {} + path_params = {} + + query_params = [] + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'generate_new_key' in params: + query_params.append(('generate_new_key', params['generate_new_key'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'certificate' in params: + body_params = params['certificate'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/certificates', 'PATCH', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='CertificateResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_certificates_post_with_http_info( + self, + certificate=None, # type: models.CertificatePost + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.CertificateResponse + """Create certificate + + Creates a certificate object and specifies the valid time period and organization details of the certificate. A certificate can be imported or manually configured. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_certificates_post_with_http_info(certificate, async_req=True) + >>> result = thread.get() + + :param CertificatePost certificate: (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: CertificateResponse + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'certificate' is set + if certificate is None: + raise TypeError("Missing the required parameter `certificate` when calling `api226_certificates_post`") + + collection_formats = {} + path_params = {} + + query_params = [] + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'certificate' in params: + body_params = params['certificate'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/certificates', 'POST', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='CertificateResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) diff --git a/pypureclient/flasharray/FA_2_26/api/connections_api.py b/pypureclient/flasharray/FA_2_26/api/connections_api.py new file mode 100644 index 000000000..3b0e8195d --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/api/connections_api.py @@ -0,0 +1,415 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +from __future__ import absolute_import + +import re + +# python 2 and python 3 compatibility library +import six +from typing import List, Optional + +from .. import models + +class ConnectionsApi(object): + + def __init__(self, api_client): + self.api_client = api_client + + def api226_connections_delete_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + host_group_names=None, # type: List[str] + host_names=None, # type: List[str] + volume_names=None, # type: List[str] + volume_ids=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """Delete a connection between a volume and its host or host group + + Deletes the connection between a volume and its associated host or host group. The `volume_names` or `volume_ids` and `host_names` or `host_group_names` query parameters are required. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_connections_delete_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] host_group_names: Performs the operation on the host group specified. Enter multiple names in comma-separated format. A request cannot include a mix of multiple objects with multiple names. For example, a request cannot include a mix of multiple host group names and volume names; instead, at least one of the objects (e.g., `host_group_names`) must be set to only one name (e.g., `hgroup01`). + :param list[str] host_names: Performs the operation on the hosts specified. Enter multiple names in comma-separated format. For example, `host01,host02`. A request cannot include a mix of multiple objects with multiple names. For example, a request cannot include a mix of multiple host names and volume names; instead, at least one of the objects (e.g., `host_names`) must be set to only one name (e.g., `host01`). + :param list[str] volume_names: Performs the operation on the volume specified. Enter multiple names in comma-separated format. For example, `vol01,vol02`. A request cannot include a mix of multiple objects with multiple names. For example, a request cannot include a mix of multiple volume names and host names; instead, at least one of the objects (e.g., `volume_names`) must be set to only one name (e.g., `vol01`). + :param list[str] volume_ids: Performs the operation on the specified volume. Enter multiple ids in comma-separated format. For example, `vol01id,vol02id`. A request cannot include a mix of multiple objects with multiple IDs. For example, a request cannot include a mix of multiple volume IDs and host names; instead, at least one of the objects (e.g., `volume_ids`) must be set to only one name (e.g., `vol01id`). Only one of the two between `volume_names` and `volume_ids` may be used at a time. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: None + If the method is called asynchronously, + returns the request thread. + """ + if host_group_names is not None: + if not isinstance(host_group_names, list): + host_group_names = [host_group_names] + if host_names is not None: + if not isinstance(host_names, list): + host_names = [host_names] + if volume_names is not None: + if not isinstance(volume_names, list): + volume_names = [volume_names] + if volume_ids is not None: + if not isinstance(volume_ids, list): + volume_ids = [volume_ids] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + collection_formats = {} + path_params = {} + + query_params = [] + if 'host_group_names' in params: + query_params.append(('host_group_names', params['host_group_names'])) + collection_formats['host_group_names'] = 'csv' + if 'host_names' in params: + query_params.append(('host_names', params['host_names'])) + collection_formats['host_names'] = 'csv' + if 'volume_names' in params: + query_params.append(('volume_names', params['volume_names'])) + collection_formats['volume_names'] = 'csv' + if 'volume_ids' in params: + query_params.append(('volume_ids', params['volume_ids'])) + collection_formats['volume_ids'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/connections', 'DELETE', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type=None, + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_connections_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + filter=None, # type: str + host_group_names=None, # type: List[str] + host_names=None, # type: List[str] + limit=None, # type: int + offset=None, # type: int + protocol_endpoint_ids=None, # type: List[str] + protocol_endpoint_names=None, # type: List[str] + sort=None, # type: List[str] + total_item_count=None, # type: bool + volume_names=None, # type: List[str] + volume_ids=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.ConnectionGetResponse + """List volume connections + + Displays a list of connections between a volume and its hosts and host groups, and the logical unit numbers (LUNs) used by the associated hosts to address these volumes. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_connections_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str continuation_token: A token used to retrieve the next page of data with some consistency guaranteed. The token is a Base64 encoded value. Set `continuation_token` to the system-generated token taken from the `x-next-token` header field of the response. A query has reached its last page when the response does not include a token. Pagination requires the `limit` and `continuation_token` query parameters. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param list[str] host_group_names: Performs the operation on the host group specified. Enter multiple names in comma-separated format. A request cannot include a mix of multiple objects with multiple names. For example, a request cannot include a mix of multiple host group names and volume names; instead, at least one of the objects (e.g., `host_group_names`) must be set to only one name (e.g., `hgroup01`). + :param list[str] host_names: Performs the operation on the hosts specified. Enter multiple names in comma-separated format. For example, `host01,host02`. A request cannot include a mix of multiple objects with multiple names. For example, a request cannot include a mix of multiple host names and volume names; instead, at least one of the objects (e.g., `host_names`) must be set to only one name (e.g., `host01`). + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] protocol_endpoint_ids: Performs the operation on the protocol endpoints specified. Enter multiple IDs in comma-separated format. For example, `peid01,peid02`. A request cannot include a mix of multiple objects with multiple IDs. For example, a request cannot include a mix of multiple protocol endpoint IDs and host names. Instead, at least one of the objects (e.g., `protocol_endpoint_ids`) must be set to one ID (e.g., `peid01`). + :param list[str] protocol_endpoint_names: Performs the operation on the protocol endpoints specified. Enter multiple names in comma-separated format. For example, `pe01,pe02`. A request cannot include a mix of multiple objects with multiple names. For example, a request cannot include a mix of multiple protocol endpoint names and host names; instead, at least one of the objects (e.g., `protocol_endpoint_names`) must be set to one name (e.g., `pe01`). + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param list[str] volume_names: Performs the operation on the volume specified. Enter multiple names in comma-separated format. For example, `vol01,vol02`. A request cannot include a mix of multiple objects with multiple names. For example, a request cannot include a mix of multiple volume names and host names; instead, at least one of the objects (e.g., `volume_names`) must be set to only one name (e.g., `vol01`). + :param list[str] volume_ids: Performs the operation on the specified volume. Enter multiple ids in comma-separated format. For example, `vol01id,vol02id`. A request cannot include a mix of multiple objects with multiple IDs. For example, a request cannot include a mix of multiple volume IDs and host names; instead, at least one of the objects (e.g., `volume_ids`) must be set to only one name (e.g., `vol01id`). Only one of the two between `volume_names` and `volume_ids` may be used at a time. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: ConnectionGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if host_group_names is not None: + if not isinstance(host_group_names, list): + host_group_names = [host_group_names] + if host_names is not None: + if not isinstance(host_names, list): + host_names = [host_names] + if protocol_endpoint_ids is not None: + if not isinstance(protocol_endpoint_ids, list): + protocol_endpoint_ids = [protocol_endpoint_ids] + if protocol_endpoint_names is not None: + if not isinstance(protocol_endpoint_names, list): + protocol_endpoint_names = [protocol_endpoint_names] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + if volume_names is not None: + if not isinstance(volume_names, list): + volume_names = [volume_names] + if volume_ids is not None: + if not isinstance(volume_ids, list): + volume_ids = [volume_ids] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_connections_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_connections_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'continuation_token' in params: + query_params.append(('continuation_token', params['continuation_token'])) + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'host_group_names' in params: + query_params.append(('host_group_names', params['host_group_names'])) + collection_formats['host_group_names'] = 'csv' + if 'host_names' in params: + query_params.append(('host_names', params['host_names'])) + collection_formats['host_names'] = 'csv' + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'protocol_endpoint_ids' in params: + query_params.append(('protocol_endpoint_ids', params['protocol_endpoint_ids'])) + collection_formats['protocol_endpoint_ids'] = 'csv' + if 'protocol_endpoint_names' in params: + query_params.append(('protocol_endpoint_names', params['protocol_endpoint_names'])) + collection_formats['protocol_endpoint_names'] = 'csv' + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + if 'volume_names' in params: + query_params.append(('volume_names', params['volume_names'])) + collection_formats['volume_names'] = 'csv' + if 'volume_ids' in params: + query_params.append(('volume_ids', params['volume_ids'])) + collection_formats['volume_ids'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/connections', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='ConnectionGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_connections_post_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + host_group_names=None, # type: List[str] + host_names=None, # type: List[str] + volume_names=None, # type: List[str] + volume_ids=None, # type: List[str] + connection=None, # type: models.ConnectionPost + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.ConnectionResponse + """Create a connection between a volume and host or host group + + Creates a connection between a volume and a host or host group. The `volume_names` or `volume_ids` and `host_names` or `host_group_names` query parameters are required. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_connections_post_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] host_group_names: Performs the operation on the host group specified. Enter multiple names in comma-separated format. A request cannot include a mix of multiple objects with multiple names. For example, a request cannot include a mix of multiple host group names and volume names; instead, at least one of the objects (e.g., `host_group_names`) must be set to only one name (e.g., `hgroup01`). + :param list[str] host_names: Performs the operation on the hosts specified. Enter multiple names in comma-separated format. For example, `host01,host02`. A request cannot include a mix of multiple objects with multiple names. For example, a request cannot include a mix of multiple host names and volume names; instead, at least one of the objects (e.g., `host_names`) must be set to only one name (e.g., `host01`). + :param list[str] volume_names: Performs the operation on the volume specified. Enter multiple names in comma-separated format. For example, `vol01,vol02`. A request cannot include a mix of multiple objects with multiple names. For example, a request cannot include a mix of multiple volume names and host names; instead, at least one of the objects (e.g., `volume_names`) must be set to only one name (e.g., `vol01`). + :param list[str] volume_ids: Performs the operation on the specified volume. Enter multiple ids in comma-separated format. For example, `vol01id,vol02id`. A request cannot include a mix of multiple objects with multiple IDs. For example, a request cannot include a mix of multiple volume IDs and host names; instead, at least one of the objects (e.g., `volume_ids`) must be set to only one name (e.g., `vol01id`). Only one of the two between `volume_names` and `volume_ids` may be used at a time. + :param ConnectionPost connection: + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: ConnectionResponse + If the method is called asynchronously, + returns the request thread. + """ + if host_group_names is not None: + if not isinstance(host_group_names, list): + host_group_names = [host_group_names] + if host_names is not None: + if not isinstance(host_names, list): + host_names = [host_names] + if volume_names is not None: + if not isinstance(volume_names, list): + volume_names = [volume_names] + if volume_ids is not None: + if not isinstance(volume_ids, list): + volume_ids = [volume_ids] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + collection_formats = {} + path_params = {} + + query_params = [] + if 'host_group_names' in params: + query_params.append(('host_group_names', params['host_group_names'])) + collection_formats['host_group_names'] = 'csv' + if 'host_names' in params: + query_params.append(('host_names', params['host_names'])) + collection_formats['host_names'] = 'csv' + if 'volume_names' in params: + query_params.append(('volume_names', params['volume_names'])) + collection_formats['volume_names'] = 'csv' + if 'volume_ids' in params: + query_params.append(('volume_ids', params['volume_ids'])) + collection_formats['volume_ids'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'connection' in params: + body_params = params['connection'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/connections', 'POST', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='ConnectionResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) diff --git a/pypureclient/flasharray/FA_2_26/api/container_default_protections_api.py b/pypureclient/flasharray/FA_2_26/api/container_default_protections_api.py new file mode 100644 index 000000000..945edbdec --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/api/container_default_protections_api.py @@ -0,0 +1,262 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +from __future__ import absolute_import + +import re + +# python 2 and python 3 compatibility library +import six +from typing import List, Optional + +from .. import models + +class ContainerDefaultProtectionsApi(object): + + def __init__(self, api_client): + self.api_client = api_client + + def api226_container_default_protections_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + ids=None, # type: List[str] + names=None, # type: List[str] + continuation_token=None, # type: str + destroyed=None, # type: bool + filter=None, # type: str + limit=None, # type: int + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.ContainerDefaultProtectionGetResponse + """List container default protections + + Displays a list of containers with its default protections. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_container_default_protections_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] ids: Performs the operation on the container ID specified. Enter multiple source IDs in comma-separated format. The `ids` or `names` parameter is required, but they cannot be set together. Specifying `ids` or `names` with no value will perform the operation on local array. + :param list[str] names: Performs the operation on the unique container name specified. Enter multiple names in comma-separated format. The `ids` or `names` parameter is required, but they cannot be set together. Specifying `ids` or `names` with no value will perform the operation on local array. + :param str continuation_token: A token used to retrieve the next page of data with some consistency guaranteed. The token is a Base64 encoded value. Set `continuation_token` to the system-generated token taken from the `x-next-token` header field of the response. A query has reached its last page when the response does not include a token. Pagination requires the `limit` and `continuation_token` query parameters. + :param bool destroyed: If set to `true`, lists only destroyed objects that are in the eradication pending state. If set to `false`, lists only objects that are not destroyed. For destroyed objects, the time remaining is displayed in milliseconds. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: ContainerDefaultProtectionGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if ids is not None: + if not isinstance(ids, list): + ids = [ids] + if names is not None: + if not isinstance(names, list): + names = [names] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_container_default_protections_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_container_default_protections_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'ids' in params: + query_params.append(('ids', params['ids'])) + collection_formats['ids'] = 'csv' + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'continuation_token' in params: + query_params.append(('continuation_token', params['continuation_token'])) + if 'destroyed' in params: + query_params.append(('destroyed', params['destroyed'])) + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/container-default-protections', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='ContainerDefaultProtectionGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_container_default_protections_patch_with_http_info( + self, + container_default_protection=None, # type: models.ContainerDefaultProtection + authorization=None, # type: str + x_request_id=None, # type: str + ids=None, # type: List[str] + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.ContainerDefaultProtectionResponse + """Modify a container's default protections + + Modifies a container's default protections. To modify, set `default_protections` to the new list. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_container_default_protections_patch_with_http_info(container_default_protection, async_req=True) + >>> result = thread.get() + + :param ContainerDefaultProtection container_default_protection: (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] ids: Performs the operation on the container ID specified. Enter multiple source IDs in comma-separated format. The `ids` or `names` parameter is required, but they cannot be set together. Specifying `ids` or `names` with no value will perform the operation on local array. + :param list[str] names: Performs the operation on the unique container name specified. Enter multiple names in comma-separated format. The `ids` or `names` parameter is required, but they cannot be set together. Specifying `ids` or `names` with no value will perform the operation on local array. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: ContainerDefaultProtectionResponse + If the method is called asynchronously, + returns the request thread. + """ + if ids is not None: + if not isinstance(ids, list): + ids = [ids] + if names is not None: + if not isinstance(names, list): + names = [names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'container_default_protection' is set + if container_default_protection is None: + raise TypeError("Missing the required parameter `container_default_protection` when calling `api226_container_default_protections_patch`") + + collection_formats = {} + path_params = {} + + query_params = [] + if 'ids' in params: + query_params.append(('ids', params['ids'])) + collection_formats['ids'] = 'csv' + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'container_default_protection' in params: + body_params = params['container_default_protection'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/container-default-protections', 'PATCH', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='ContainerDefaultProtectionResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) diff --git a/pypureclient/flasharray/FA_2_26/api/controllers_api.py b/pypureclient/flasharray/FA_2_26/api/controllers_api.py new file mode 100644 index 000000000..a5d147bdb --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/api/controllers_api.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +from __future__ import absolute_import + +import re + +# python 2 and python 3 compatibility library +import six +from typing import List, Optional + +from .. import models + +class ControllersApi(object): + + def __init__(self, api_client): + self.api_client = api_client + + def api226_controllers_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + filter=None, # type: str + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.ControllerGetResponse + """List controller information and status + + Displays the name, mode, FlashArray model, Purity//FA software version, and status of each controller in the array. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_controllers_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str continuation_token: A token used to retrieve the next page of data with some consistency guaranteed. The token is a Base64 encoded value. Set `continuation_token` to the system-generated token taken from the `x-next-token` header field of the response. A query has reached its last page when the response does not include a token. Pagination requires the `limit` and `continuation_token` query parameters. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: ControllerGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_controllers_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_controllers_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'continuation_token' in params: + query_params.append(('continuation_token', params['continuation_token'])) + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/controllers', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='ControllerGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) diff --git a/pypureclient/flasharray/FA_2_26/api/directories_api.py b/pypureclient/flasharray/FA_2_26/api/directories_api.py new file mode 100644 index 000000000..b749a6b9d --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/api/directories_api.py @@ -0,0 +1,2828 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +from __future__ import absolute_import + +import re + +# python 2 and python 3 compatibility library +import six +from typing import List, Optional + +from .. import models + +class DirectoriesApi(object): + + def __init__(self, api_client): + self.api_client = api_client + + def api226_directories_delete_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + ids=None, # type: List[str] + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """Delete managed directories + + Deletes one or more managed directories. To be deleted, a managed directory must be empty and not attached to any enabled export policies. Deleted managed directories cannot be recovered. The `ids` or `names` parameter is required, but cannot be set together. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_directories_delete_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] ids: Performs the operation on the unique resource IDs specified. Enter multiple resource IDs in comma-separated format. The `ids` or `names` parameter is required, but they cannot be set together. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: None + If the method is called asynchronously, + returns the request thread. + """ + if ids is not None: + if not isinstance(ids, list): + ids = [ids] + if names is not None: + if not isinstance(names, list): + names = [names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + collection_formats = {} + path_params = {} + + query_params = [] + if 'ids' in params: + query_params.append(('ids', params['ids'])) + collection_formats['ids'] = 'csv' + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/directories', 'DELETE', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type=None, + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_directories_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + destroyed=None, # type: bool + file_system_ids=None, # type: List[str] + file_system_names=None, # type: List[str] + filter=None, # type: str + ids=None, # type: List[str] + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + total_only=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.DirectoryGetResponse + """List directories + + Displays a list of directories, including those pending eradication. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_directories_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str continuation_token: A token used to retrieve the next page of data with some consistency guaranteed. The token is a Base64 encoded value. Set `continuation_token` to the system-generated token taken from the `x-next-token` header field of the response. A query has reached its last page when the response does not include a token. Pagination requires the `limit` and `continuation_token` query parameters. + :param bool destroyed: If set to `true`, lists only destroyed objects that are in the eradication pending state. If set to `false`, lists only objects that are not destroyed. For destroyed objects, the time remaining is displayed in milliseconds. + :param list[str] file_system_ids: Performs the operation on the file system ID specified. Enter multiple file system IDs in comma-separated format. The `file_system_ids` or `file_system_names` parameter is required, but they cannot be set together. + :param list[str] file_system_names: Performs the operation on the file system name specified. Enter multiple file system names in comma-separated format. For example, `filesystem01,filesystem02`. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param list[str] ids: Performs the operation on the unique resource IDs specified. Enter multiple resource IDs in comma-separated format. The `ids` or `names` parameter is required, but they cannot be set together. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool total_only: If set to `true`, returns the aggregate value of all items after filtering. Where it makes more sense, the average value is displayed instead. The values are displayed for each name where meaningful. If `total_only=true`, the `items` list will be empty. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: DirectoryGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if file_system_ids is not None: + if not isinstance(file_system_ids, list): + file_system_ids = [file_system_ids] + if file_system_names is not None: + if not isinstance(file_system_names, list): + file_system_names = [file_system_names] + if ids is not None: + if not isinstance(ids, list): + ids = [ids] + if names is not None: + if not isinstance(names, list): + names = [names] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_directories_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_directories_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'continuation_token' in params: + query_params.append(('continuation_token', params['continuation_token'])) + if 'destroyed' in params: + query_params.append(('destroyed', params['destroyed'])) + if 'file_system_ids' in params: + query_params.append(('file_system_ids', params['file_system_ids'])) + collection_formats['file_system_ids'] = 'csv' + if 'file_system_names' in params: + query_params.append(('file_system_names', params['file_system_names'])) + collection_formats['file_system_names'] = 'csv' + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'ids' in params: + query_params.append(('ids', params['ids'])) + collection_formats['ids'] = 'csv' + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + if 'total_only' in params: + query_params.append(('total_only', params['total_only'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/directories', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='DirectoryGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_directories_locks_nlm_reclamations_post_with_http_info( + self, + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.DirectoryLockNlmReclamationResponse + """Initiate NLM reclamation. + + NLM reclamation is a system-wide operation, affecting all clients, and so only one may be in progress at a time. Attempting to initiate reclamation while one is in progress will result in an error. When NLM reclamation is initiated, all NLM locks are deleted and client applications are notified that they can reacquire their locks within a grace period. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_directories_locks_nlm_reclamations_post_with_http_info(async_req=True) + >>> result = thread.get() + + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: DirectoryLockNlmReclamationResponse + If the method is called asynchronously, + returns the request thread. + """ + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + collection_formats = {} + path_params = {} + + query_params = [] + + header_params = {} + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/directories/locks/nlm-reclamations', 'POST', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='DirectoryLockNlmReclamationResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_directories_patch_with_http_info( + self, + directory=None, # type: models.DirectoryPatch + authorization=None, # type: str + x_request_id=None, # type: str + ids=None, # type: List[str] + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.DirectoryResponse + """Modify a managed directory + + Modifies a managed directory. To rename a managed directory, set `name` to the new name. The `ids` or `names` parameter is required, but cannot be set together. The `name` or `directory_name` parameter is required. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_directories_patch_with_http_info(directory, async_req=True) + >>> result = thread.get() + + :param DirectoryPatch directory: (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] ids: Performs the operation on the unique resource IDs specified. Enter multiple resource IDs in comma-separated format. The `ids` or `names` parameter is required, but they cannot be set together. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: DirectoryResponse + If the method is called asynchronously, + returns the request thread. + """ + if ids is not None: + if not isinstance(ids, list): + ids = [ids] + if names is not None: + if not isinstance(names, list): + names = [names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'directory' is set + if directory is None: + raise TypeError("Missing the required parameter `directory` when calling `api226_directories_patch`") + + collection_formats = {} + path_params = {} + + query_params = [] + if 'ids' in params: + query_params.append(('ids', params['ids'])) + collection_formats['ids'] = 'csv' + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'directory' in params: + body_params = params['directory'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/directories', 'PATCH', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='DirectoryResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_directories_performance_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + destroyed=None, # type: bool + filter=None, # type: str + end_time=None, # type: int + resolution=None, # type: int + start_time=None, # type: int + ids=None, # type: List[str] + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + protocol=None, # type: str + protocol_group=None, # type: str + sort=None, # type: List[str] + total_item_count=None, # type: bool + total_only=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.DirectoryPerformanceGetResponse + """List directory performance data + + Displays real-time and historical performance data, real-time latency data, and average I/O sizes for each directory and as a total of all directories across the entire array. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_directories_performance_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param bool destroyed: If set to `true`, lists only destroyed objects that are in the eradication pending state. If set to `false`, lists only objects that are not destroyed. For destroyed objects, the time remaining is displayed in milliseconds. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param int end_time: Displays historical performance data for the specified time window, where `start_time` is the beginning of the time window, and `end_time` is the end of the time window. The `start_time` and `end_time` parameters are specified in milliseconds since the UNIX epoch. If `start_time` is not specified, the start time will default to one resolution before the end time, meaning that the most recent sample of performance data will be displayed. If `end_time`is not specified, the end time will default to the current time. Include the `resolution` parameter to display the performance data at the specified resolution. If not specified, `resolution` defaults to the lowest valid resolution. + :param int resolution: The number of milliseconds between samples of historical data. For array-wide performance metrics (`/arrays/performance` endpoint), valid values are `1000` (1 second), `30000` (30 seconds), `300000` (5 minutes), `1800000` (30 minutes), `7200000` (2 hours), `28800000` (8 hours), and `86400000` (24 hours). For performance metrics on storage objects (`/performance` endpoint), such as volumes, valid values are `30000` (30 seconds), `300000` (5 minutes), `1800000` (30 minutes), `7200000` (2 hours), `28800000` (8 hours), and `86400000` (24 hours). For space metrics, (`/space` endpoint), valid values are `300000` (5 minutes), `1800000` (30 minutes), `7200000` (2 hours), `28800000` (8 hours), and `86400000` (24 hours). Include the `start_time` parameter to display the performance data starting at the specified start time. If `start_time` is not specified, the start time will default to one resolution before the end time, meaning that the most recent sample of performance data will be displayed. Include the `end_time` parameter to display the performance data until the specified end time. If `end_time`is not specified, the end time will default to the current time. If the `resolution` parameter is not specified but either the `start_time` or `end_time` parameter is, then `resolution` will default to the lowest valid resolution. + :param int start_time: Displays historical performance data for the specified time window, where `start_time` is the beginning of the time window, and `end_time` is the end of the time window. The `start_time` and `end_time` parameters are specified in milliseconds since the UNIX epoch. If `start_time` is not specified, the start time will default to one resolution before the end time, meaning that the most recent sample of performance data will be displayed. If `end_time`is not specified, the end time will default to the current time. Include the `resolution` parameter to display the performance data at the specified resolution. If not specified, `resolution` defaults to the lowest valid resolution. + :param list[str] ids: Performs the operation on the unique resource IDs specified. Enter multiple resource IDs in comma-separated format. The `ids` or `names` parameter is required, but they cannot be set together. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param str protocol: Protocol type. Valid values are `nfs`, `smb`, and `all`. + :param str protocol_group: Protocol group type. Valid values are `block`, `file`, and `all`. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool total_only: If set to `true`, returns the aggregate value of all items after filtering. Where it makes more sense, the average value is displayed instead. The values are displayed for each name where meaningful. If `total_only=true`, the `items` list will be empty. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: DirectoryPerformanceGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if ids is not None: + if not isinstance(ids, list): + ids = [ids] + if names is not None: + if not isinstance(names, list): + names = [names] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'resolution' in params and params['resolution'] < 0: + raise ValueError("Invalid value for parameter `resolution` when calling `api226_directories_performance_get`, must be a value greater than or equal to `0`") + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_directories_performance_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_directories_performance_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'destroyed' in params: + query_params.append(('destroyed', params['destroyed'])) + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'end_time' in params: + query_params.append(('end_time', params['end_time'])) + if 'resolution' in params: + query_params.append(('resolution', params['resolution'])) + if 'start_time' in params: + query_params.append(('start_time', params['start_time'])) + if 'ids' in params: + query_params.append(('ids', params['ids'])) + collection_formats['ids'] = 'csv' + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'protocol' in params: + query_params.append(('protocol', params['protocol'])) + if 'protocol_group' in params: + query_params.append(('protocol_group', params['protocol_group'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + if 'total_only' in params: + query_params.append(('total_only', params['total_only'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/directories/performance', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='DirectoryPerformanceGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_directories_policies_autodir_delete_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + member_ids=None, # type: List[str] + member_names=None, # type: List[str] + policy_ids=None, # type: List[str] + policy_names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """Delete a membership between a directory and one or more auto managed directory policies + + Deletes a membership between a directory with one or more auto managed directory policies. The `policy_ids` or `policy_names` parameter is required, but they cannot be set together. The `member_ids` or `member_names` parameter is required, but they cannot be set together. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_directories_policies_autodir_delete_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] member_ids: Performs the operation on the unique member IDs specified. Enter multiple member IDs in comma-separated format. The `member_ids` or `member_names` parameter is required, but they cannot be set together. + :param list[str] member_names: Performs the operation on the unique member name specified. Examples of members include volumes, hosts, host groups, and directories. Enter multiple names in comma-separated format. For example, `vol01,vol02`. + :param list[str] policy_ids: Performs the operation on the unique policy IDs specified. Enter multiple policy IDs in comma-separated format. The `policy_ids` or `policy_names` parameter is required, but they cannot be set together. + :param list[str] policy_names: Performs the operation on the policy names specified. Enter multiple policy names in comma-separated format. For example, `name01,name02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: None + If the method is called asynchronously, + returns the request thread. + """ + if member_ids is not None: + if not isinstance(member_ids, list): + member_ids = [member_ids] + if member_names is not None: + if not isinstance(member_names, list): + member_names = [member_names] + if policy_ids is not None: + if not isinstance(policy_ids, list): + policy_ids = [policy_ids] + if policy_names is not None: + if not isinstance(policy_names, list): + policy_names = [policy_names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + collection_formats = {} + path_params = {} + + query_params = [] + if 'member_ids' in params: + query_params.append(('member_ids', params['member_ids'])) + collection_formats['member_ids'] = 'csv' + if 'member_names' in params: + query_params.append(('member_names', params['member_names'])) + collection_formats['member_names'] = 'csv' + if 'policy_ids' in params: + query_params.append(('policy_ids', params['policy_ids'])) + collection_formats['policy_ids'] = 'csv' + if 'policy_names' in params: + query_params.append(('policy_names', params['policy_names'])) + collection_formats['policy_names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/directories/policies/autodir', 'DELETE', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type=None, + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_directories_policies_autodir_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + destroyed=None, # type: bool + filter=None, # type: str + limit=None, # type: int + member_ids=None, # type: List[str] + member_names=None, # type: List[str] + policy_ids=None, # type: List[str] + policy_names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PolicyMemberGetResponse + """List auto managed directory policies attached to a directory + + Displays a list of auto managed directory policies that are attached to directories. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_directories_policies_autodir_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str continuation_token: A token used to retrieve the next page of data with some consistency guaranteed. The token is a Base64 encoded value. Set `continuation_token` to the system-generated token taken from the `x-next-token` header field of the response. A query has reached its last page when the response does not include a token. Pagination requires the `limit` and `continuation_token` query parameters. + :param bool destroyed: If set to `true`, lists only destroyed objects that are in the eradication pending state. If set to `false`, lists only objects that are not destroyed. For destroyed objects, the time remaining is displayed in milliseconds. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param list[str] member_ids: Performs the operation on the unique member IDs specified. Enter multiple member IDs in comma-separated format. The `member_ids` or `member_names` parameter is required, but they cannot be set together. + :param list[str] member_names: Performs the operation on the unique member name specified. Examples of members include volumes, hosts, host groups, and directories. Enter multiple names in comma-separated format. For example, `vol01,vol02`. + :param list[str] policy_ids: Performs the operation on the unique policy IDs specified. Enter multiple policy IDs in comma-separated format. The `policy_ids` or `policy_names` parameter is required, but they cannot be set together. + :param list[str] policy_names: Performs the operation on the policy names specified. Enter multiple policy names in comma-separated format. For example, `name01,name02`. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: PolicyMemberGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if member_ids is not None: + if not isinstance(member_ids, list): + member_ids = [member_ids] + if member_names is not None: + if not isinstance(member_names, list): + member_names = [member_names] + if policy_ids is not None: + if not isinstance(policy_ids, list): + policy_ids = [policy_ids] + if policy_names is not None: + if not isinstance(policy_names, list): + policy_names = [policy_names] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_directories_policies_autodir_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_directories_policies_autodir_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'continuation_token' in params: + query_params.append(('continuation_token', params['continuation_token'])) + if 'destroyed' in params: + query_params.append(('destroyed', params['destroyed'])) + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'member_ids' in params: + query_params.append(('member_ids', params['member_ids'])) + collection_formats['member_ids'] = 'csv' + if 'member_names' in params: + query_params.append(('member_names', params['member_names'])) + collection_formats['member_names'] = 'csv' + if 'policy_ids' in params: + query_params.append(('policy_ids', params['policy_ids'])) + collection_formats['policy_ids'] = 'csv' + if 'policy_names' in params: + query_params.append(('policy_names', params['policy_names'])) + collection_formats['policy_names'] = 'csv' + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/directories/policies/autodir', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='PolicyMemberGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_directories_policies_autodir_post_with_http_info( + self, + policies=None, # type: models.DirectoryPolicyPost + authorization=None, # type: str + x_request_id=None, # type: str + member_ids=None, # type: List[str] + member_names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PolicyMemberResponse + """Create a membership between a directory with one or more auto managed directory policies + + Creates a membership between a directory with one or more auto managed directory policies. The `member_ids` or `member_names` parameter is required, but they cannot be set together. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_directories_policies_autodir_post_with_http_info(policies, async_req=True) + >>> result = thread.get() + + :param DirectoryPolicyPost policies: (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] member_ids: Performs the operation on the unique member IDs specified. Enter multiple member IDs in comma-separated format. The `member_ids` or `member_names` parameter is required, but they cannot be set together. + :param list[str] member_names: Performs the operation on the unique member name specified. Examples of members include volumes, hosts, host groups, and directories. Enter multiple names in comma-separated format. For example, `vol01,vol02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: PolicyMemberResponse + If the method is called asynchronously, + returns the request thread. + """ + if member_ids is not None: + if not isinstance(member_ids, list): + member_ids = [member_ids] + if member_names is not None: + if not isinstance(member_names, list): + member_names = [member_names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'policies' is set + if policies is None: + raise TypeError("Missing the required parameter `policies` when calling `api226_directories_policies_autodir_post`") + + collection_formats = {} + path_params = {} + + query_params = [] + if 'member_ids' in params: + query_params.append(('member_ids', params['member_ids'])) + collection_formats['member_ids'] = 'csv' + if 'member_names' in params: + query_params.append(('member_names', params['member_names'])) + collection_formats['member_names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'policies' in params: + body_params = params['policies'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/directories/policies/autodir', 'POST', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='PolicyMemberResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_directories_policies_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + destroyed=None, # type: bool + filter=None, # type: str + limit=None, # type: int + member_ids=None, # type: List[str] + member_names=None, # type: List[str] + policy_ids=None, # type: List[str] + policy_names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PolicyMemberGetResponse + """List policies + + Displays a list of policies that are attached to directories. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_directories_policies_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str continuation_token: A token used to retrieve the next page of data with some consistency guaranteed. The token is a Base64 encoded value. Set `continuation_token` to the system-generated token taken from the `x-next-token` header field of the response. A query has reached its last page when the response does not include a token. Pagination requires the `limit` and `continuation_token` query parameters. + :param bool destroyed: If set to `true`, lists only destroyed objects that are in the eradication pending state. If set to `false`, lists only objects that are not destroyed. For destroyed objects, the time remaining is displayed in milliseconds. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param list[str] member_ids: Performs the operation on the unique member IDs specified. Enter multiple member IDs in comma-separated format. The `member_ids` or `member_names` parameter is required, but they cannot be set together. + :param list[str] member_names: Performs the operation on the unique member name specified. Examples of members include volumes, hosts, host groups, and directories. Enter multiple names in comma-separated format. For example, `vol01,vol02`. + :param list[str] policy_ids: Performs the operation on the unique policy IDs specified. Enter multiple policy IDs in comma-separated format. The `policy_ids` or `policy_names` parameter is required, but they cannot be set together. + :param list[str] policy_names: Performs the operation on the policy names specified. Enter multiple policy names in comma-separated format. For example, `name01,name02`. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: PolicyMemberGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if member_ids is not None: + if not isinstance(member_ids, list): + member_ids = [member_ids] + if member_names is not None: + if not isinstance(member_names, list): + member_names = [member_names] + if policy_ids is not None: + if not isinstance(policy_ids, list): + policy_ids = [policy_ids] + if policy_names is not None: + if not isinstance(policy_names, list): + policy_names = [policy_names] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_directories_policies_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_directories_policies_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'continuation_token' in params: + query_params.append(('continuation_token', params['continuation_token'])) + if 'destroyed' in params: + query_params.append(('destroyed', params['destroyed'])) + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'member_ids' in params: + query_params.append(('member_ids', params['member_ids'])) + collection_formats['member_ids'] = 'csv' + if 'member_names' in params: + query_params.append(('member_names', params['member_names'])) + collection_formats['member_names'] = 'csv' + if 'policy_ids' in params: + query_params.append(('policy_ids', params['policy_ids'])) + collection_formats['policy_ids'] = 'csv' + if 'policy_names' in params: + query_params.append(('policy_names', params['policy_names'])) + collection_formats['policy_names'] = 'csv' + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/directories/policies', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='PolicyMemberGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_directories_policies_nfs_delete_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + member_ids=None, # type: List[str] + member_names=None, # type: List[str] + policy_ids=None, # type: List[str] + policy_names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """Delete a membership between a directory and one or more NFS policies + + Deletes a membership between a directory and one or more NFS policies. The `policy_ids` or `policy_names` parameter is required, but cannot be set together. The `member_ids` or `member_names` parameter is required, but cannot be set together. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_directories_policies_nfs_delete_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] member_ids: Performs the operation on the unique member IDs specified. Enter multiple member IDs in comma-separated format. The `member_ids` or `member_names` parameter is required, but they cannot be set together. + :param list[str] member_names: Performs the operation on the unique member name specified. Examples of members include volumes, hosts, host groups, and directories. Enter multiple names in comma-separated format. For example, `vol01,vol02`. + :param list[str] policy_ids: Performs the operation on the unique policy IDs specified. Enter multiple policy IDs in comma-separated format. The `policy_ids` or `policy_names` parameter is required, but they cannot be set together. + :param list[str] policy_names: Performs the operation on the policy names specified. Enter multiple policy names in comma-separated format. For example, `name01,name02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: None + If the method is called asynchronously, + returns the request thread. + """ + if member_ids is not None: + if not isinstance(member_ids, list): + member_ids = [member_ids] + if member_names is not None: + if not isinstance(member_names, list): + member_names = [member_names] + if policy_ids is not None: + if not isinstance(policy_ids, list): + policy_ids = [policy_ids] + if policy_names is not None: + if not isinstance(policy_names, list): + policy_names = [policy_names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + collection_formats = {} + path_params = {} + + query_params = [] + if 'member_ids' in params: + query_params.append(('member_ids', params['member_ids'])) + collection_formats['member_ids'] = 'csv' + if 'member_names' in params: + query_params.append(('member_names', params['member_names'])) + collection_formats['member_names'] = 'csv' + if 'policy_ids' in params: + query_params.append(('policy_ids', params['policy_ids'])) + collection_formats['policy_ids'] = 'csv' + if 'policy_names' in params: + query_params.append(('policy_names', params['policy_names'])) + collection_formats['policy_names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/directories/policies/nfs', 'DELETE', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type=None, + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_directories_policies_nfs_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + destroyed=None, # type: bool + filter=None, # type: str + limit=None, # type: int + member_ids=None, # type: List[str] + member_names=None, # type: List[str] + policy_ids=None, # type: List[str] + policy_names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PolicyMemberExportGetResponse + """List NFS policies attached to a directory + + Displays a list of NFS policies that are attached to directories. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_directories_policies_nfs_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str continuation_token: A token used to retrieve the next page of data with some consistency guaranteed. The token is a Base64 encoded value. Set `continuation_token` to the system-generated token taken from the `x-next-token` header field of the response. A query has reached its last page when the response does not include a token. Pagination requires the `limit` and `continuation_token` query parameters. + :param bool destroyed: If set to `true`, lists only destroyed objects that are in the eradication pending state. If set to `false`, lists only objects that are not destroyed. For destroyed objects, the time remaining is displayed in milliseconds. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param list[str] member_ids: Performs the operation on the unique member IDs specified. Enter multiple member IDs in comma-separated format. The `member_ids` or `member_names` parameter is required, but they cannot be set together. + :param list[str] member_names: Performs the operation on the unique member name specified. Examples of members include volumes, hosts, host groups, and directories. Enter multiple names in comma-separated format. For example, `vol01,vol02`. + :param list[str] policy_ids: Performs the operation on the unique policy IDs specified. Enter multiple policy IDs in comma-separated format. The `policy_ids` or `policy_names` parameter is required, but they cannot be set together. + :param list[str] policy_names: Performs the operation on the policy names specified. Enter multiple policy names in comma-separated format. For example, `name01,name02`. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: PolicyMemberExportGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if member_ids is not None: + if not isinstance(member_ids, list): + member_ids = [member_ids] + if member_names is not None: + if not isinstance(member_names, list): + member_names = [member_names] + if policy_ids is not None: + if not isinstance(policy_ids, list): + policy_ids = [policy_ids] + if policy_names is not None: + if not isinstance(policy_names, list): + policy_names = [policy_names] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_directories_policies_nfs_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_directories_policies_nfs_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'continuation_token' in params: + query_params.append(('continuation_token', params['continuation_token'])) + if 'destroyed' in params: + query_params.append(('destroyed', params['destroyed'])) + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'member_ids' in params: + query_params.append(('member_ids', params['member_ids'])) + collection_formats['member_ids'] = 'csv' + if 'member_names' in params: + query_params.append(('member_names', params['member_names'])) + collection_formats['member_names'] = 'csv' + if 'policy_ids' in params: + query_params.append(('policy_ids', params['policy_ids'])) + collection_formats['policy_ids'] = 'csv' + if 'policy_names' in params: + query_params.append(('policy_names', params['policy_names'])) + collection_formats['policy_names'] = 'csv' + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/directories/policies/nfs', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='PolicyMemberExportGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_directories_policies_nfs_post_with_http_info( + self, + policies=None, # type: models.DirectoryPolicyExportPost + authorization=None, # type: str + x_request_id=None, # type: str + member_ids=None, # type: List[str] + member_names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PolicyMemberExportResponse + """Create a membership between a directory and one or more NFS policies + + Creates a membership between a directory and one or more NFS policies. The `member_ids` or `member_names` parameter is required but cannot be set together. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_directories_policies_nfs_post_with_http_info(policies, async_req=True) + >>> result = thread.get() + + :param DirectoryPolicyExportPost policies: (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] member_ids: Performs the operation on the unique member IDs specified. Enter multiple member IDs in comma-separated format. The `member_ids` or `member_names` parameter is required, but they cannot be set together. + :param list[str] member_names: Performs the operation on the unique member name specified. Examples of members include volumes, hosts, host groups, and directories. Enter multiple names in comma-separated format. For example, `vol01,vol02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: PolicyMemberExportResponse + If the method is called asynchronously, + returns the request thread. + """ + if member_ids is not None: + if not isinstance(member_ids, list): + member_ids = [member_ids] + if member_names is not None: + if not isinstance(member_names, list): + member_names = [member_names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'policies' is set + if policies is None: + raise TypeError("Missing the required parameter `policies` when calling `api226_directories_policies_nfs_post`") + + collection_formats = {} + path_params = {} + + query_params = [] + if 'member_ids' in params: + query_params.append(('member_ids', params['member_ids'])) + collection_formats['member_ids'] = 'csv' + if 'member_names' in params: + query_params.append(('member_names', params['member_names'])) + collection_formats['member_names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'policies' in params: + body_params = params['policies'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/directories/policies/nfs', 'POST', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='PolicyMemberExportResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_directories_policies_quota_delete_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + member_ids=None, # type: List[str] + member_names=None, # type: List[str] + policy_ids=None, # type: List[str] + policy_names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """Delete a membership between a directory and one or more quota policies + + Deletes a membership between a directory and one or more quota policies. The `policy_ids` or `policy_names` parameter is required, but cannot be set together. The `member_ids` or `member_names` parameter is required, but cannot be set together. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_directories_policies_quota_delete_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] member_ids: Performs the operation on the unique member IDs specified. Enter multiple member IDs in comma-separated format. The `member_ids` or `member_names` parameter is required, but they cannot be set together. + :param list[str] member_names: Performs the operation on the unique member name specified. Examples of members include volumes, hosts, host groups, and directories. Enter multiple names in comma-separated format. For example, `vol01,vol02`. + :param list[str] policy_ids: Performs the operation on the unique policy IDs specified. Enter multiple policy IDs in comma-separated format. The `policy_ids` or `policy_names` parameter is required, but they cannot be set together. + :param list[str] policy_names: Performs the operation on the policy names specified. Enter multiple policy names in comma-separated format. For example, `name01,name02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: None + If the method is called asynchronously, + returns the request thread. + """ + if member_ids is not None: + if not isinstance(member_ids, list): + member_ids = [member_ids] + if member_names is not None: + if not isinstance(member_names, list): + member_names = [member_names] + if policy_ids is not None: + if not isinstance(policy_ids, list): + policy_ids = [policy_ids] + if policy_names is not None: + if not isinstance(policy_names, list): + policy_names = [policy_names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + collection_formats = {} + path_params = {} + + query_params = [] + if 'member_ids' in params: + query_params.append(('member_ids', params['member_ids'])) + collection_formats['member_ids'] = 'csv' + if 'member_names' in params: + query_params.append(('member_names', params['member_names'])) + collection_formats['member_names'] = 'csv' + if 'policy_ids' in params: + query_params.append(('policy_ids', params['policy_ids'])) + collection_formats['policy_ids'] = 'csv' + if 'policy_names' in params: + query_params.append(('policy_names', params['policy_names'])) + collection_formats['policy_names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/directories/policies/quota', 'DELETE', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type=None, + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_directories_policies_quota_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + destroyed=None, # type: bool + filter=None, # type: str + limit=None, # type: int + member_ids=None, # type: List[str] + member_names=None, # type: List[str] + policy_ids=None, # type: List[str] + policy_names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PolicyMemberGetResponse + """List quota policies attached to a directory + + Displays a list of quota policies that are attached to directories. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_directories_policies_quota_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str continuation_token: A token used to retrieve the next page of data with some consistency guaranteed. The token is a Base64 encoded value. Set `continuation_token` to the system-generated token taken from the `x-next-token` header field of the response. A query has reached its last page when the response does not include a token. Pagination requires the `limit` and `continuation_token` query parameters. + :param bool destroyed: If set to `true`, lists only destroyed objects that are in the eradication pending state. If set to `false`, lists only objects that are not destroyed. For destroyed objects, the time remaining is displayed in milliseconds. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param list[str] member_ids: Performs the operation on the unique member IDs specified. Enter multiple member IDs in comma-separated format. The `member_ids` or `member_names` parameter is required, but they cannot be set together. + :param list[str] member_names: Performs the operation on the unique member name specified. Examples of members include volumes, hosts, host groups, and directories. Enter multiple names in comma-separated format. For example, `vol01,vol02`. + :param list[str] policy_ids: Performs the operation on the unique policy IDs specified. Enter multiple policy IDs in comma-separated format. The `policy_ids` or `policy_names` parameter is required, but they cannot be set together. + :param list[str] policy_names: Performs the operation on the policy names specified. Enter multiple policy names in comma-separated format. For example, `name01,name02`. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: PolicyMemberGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if member_ids is not None: + if not isinstance(member_ids, list): + member_ids = [member_ids] + if member_names is not None: + if not isinstance(member_names, list): + member_names = [member_names] + if policy_ids is not None: + if not isinstance(policy_ids, list): + policy_ids = [policy_ids] + if policy_names is not None: + if not isinstance(policy_names, list): + policy_names = [policy_names] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_directories_policies_quota_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_directories_policies_quota_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'continuation_token' in params: + query_params.append(('continuation_token', params['continuation_token'])) + if 'destroyed' in params: + query_params.append(('destroyed', params['destroyed'])) + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'member_ids' in params: + query_params.append(('member_ids', params['member_ids'])) + collection_formats['member_ids'] = 'csv' + if 'member_names' in params: + query_params.append(('member_names', params['member_names'])) + collection_formats['member_names'] = 'csv' + if 'policy_ids' in params: + query_params.append(('policy_ids', params['policy_ids'])) + collection_formats['policy_ids'] = 'csv' + if 'policy_names' in params: + query_params.append(('policy_names', params['policy_names'])) + collection_formats['policy_names'] = 'csv' + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/directories/policies/quota', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='PolicyMemberGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_directories_policies_quota_post_with_http_info( + self, + policies=None, # type: models.DirectoryPolicyPost + authorization=None, # type: str + x_request_id=None, # type: str + member_ids=None, # type: List[str] + member_names=None, # type: List[str] + ignore_usage=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PolicyMemberResponse + """Create a membership between a directory and one or more quota policies + + Creates a membership between a directory and one or more quota policies. The `member_ids` or `member_names` parameter is required, but cannot be set together. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_directories_policies_quota_post_with_http_info(policies, async_req=True) + >>> result = thread.get() + + :param DirectoryPolicyPost policies: (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] member_ids: Performs the operation on the unique member IDs specified. Enter multiple member IDs in comma-separated format. The `member_ids` or `member_names` parameter is required, but they cannot be set together. + :param list[str] member_names: Performs the operation on the unique member name specified. Examples of members include volumes, hosts, host groups, and directories. Enter multiple names in comma-separated format. For example, `vol01,vol02`. + :param bool ignore_usage: Flag used to override checks for quota management operations. If set to `true`, directory usage is not checked against the `quota_limits` that are set. If set to `false`, the actual logical bytes in use are prevented from exceeding the limits set on the directory. Client operations might be impacted. If the limit exceeds the quota, the client operation is not allowed. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: PolicyMemberResponse + If the method is called asynchronously, + returns the request thread. + """ + if member_ids is not None: + if not isinstance(member_ids, list): + member_ids = [member_ids] + if member_names is not None: + if not isinstance(member_names, list): + member_names = [member_names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'policies' is set + if policies is None: + raise TypeError("Missing the required parameter `policies` when calling `api226_directories_policies_quota_post`") + + collection_formats = {} + path_params = {} + + query_params = [] + if 'member_ids' in params: + query_params.append(('member_ids', params['member_ids'])) + collection_formats['member_ids'] = 'csv' + if 'member_names' in params: + query_params.append(('member_names', params['member_names'])) + collection_formats['member_names'] = 'csv' + if 'ignore_usage' in params: + query_params.append(('ignore_usage', params['ignore_usage'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'policies' in params: + body_params = params['policies'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/directories/policies/quota', 'POST', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='PolicyMemberResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_directories_policies_smb_delete_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + member_ids=None, # type: List[str] + member_names=None, # type: List[str] + policy_ids=None, # type: List[str] + policy_names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """Delete a membership between a directory and one or more SMB policies + + Deletes a membership between a directory and one or more SMB policies. The `policy_ids` or `policy_names` parameter is required, but cannot be set together. The `member_ids` or `member_names` parameter is required, but cannot be set together. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_directories_policies_smb_delete_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] member_ids: Performs the operation on the unique member IDs specified. Enter multiple member IDs in comma-separated format. The `member_ids` or `member_names` parameter is required, but they cannot be set together. + :param list[str] member_names: Performs the operation on the unique member name specified. Examples of members include volumes, hosts, host groups, and directories. Enter multiple names in comma-separated format. For example, `vol01,vol02`. + :param list[str] policy_ids: Performs the operation on the unique policy IDs specified. Enter multiple policy IDs in comma-separated format. The `policy_ids` or `policy_names` parameter is required, but they cannot be set together. + :param list[str] policy_names: Performs the operation on the policy names specified. Enter multiple policy names in comma-separated format. For example, `name01,name02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: None + If the method is called asynchronously, + returns the request thread. + """ + if member_ids is not None: + if not isinstance(member_ids, list): + member_ids = [member_ids] + if member_names is not None: + if not isinstance(member_names, list): + member_names = [member_names] + if policy_ids is not None: + if not isinstance(policy_ids, list): + policy_ids = [policy_ids] + if policy_names is not None: + if not isinstance(policy_names, list): + policy_names = [policy_names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + collection_formats = {} + path_params = {} + + query_params = [] + if 'member_ids' in params: + query_params.append(('member_ids', params['member_ids'])) + collection_formats['member_ids'] = 'csv' + if 'member_names' in params: + query_params.append(('member_names', params['member_names'])) + collection_formats['member_names'] = 'csv' + if 'policy_ids' in params: + query_params.append(('policy_ids', params['policy_ids'])) + collection_formats['policy_ids'] = 'csv' + if 'policy_names' in params: + query_params.append(('policy_names', params['policy_names'])) + collection_formats['policy_names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/directories/policies/smb', 'DELETE', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type=None, + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_directories_policies_smb_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + destroyed=None, # type: bool + filter=None, # type: str + limit=None, # type: int + member_ids=None, # type: List[str] + member_names=None, # type: List[str] + policy_ids=None, # type: List[str] + policy_names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PolicyMemberExportGetResponse + """List SMB policies attached to a directory + + Displays a list of SMB policies that are attached to directories. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_directories_policies_smb_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str continuation_token: A token used to retrieve the next page of data with some consistency guaranteed. The token is a Base64 encoded value. Set `continuation_token` to the system-generated token taken from the `x-next-token` header field of the response. A query has reached its last page when the response does not include a token. Pagination requires the `limit` and `continuation_token` query parameters. + :param bool destroyed: If set to `true`, lists only destroyed objects that are in the eradication pending state. If set to `false`, lists only objects that are not destroyed. For destroyed objects, the time remaining is displayed in milliseconds. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param list[str] member_ids: Performs the operation on the unique member IDs specified. Enter multiple member IDs in comma-separated format. The `member_ids` or `member_names` parameter is required, but they cannot be set together. + :param list[str] member_names: Performs the operation on the unique member name specified. Examples of members include volumes, hosts, host groups, and directories. Enter multiple names in comma-separated format. For example, `vol01,vol02`. + :param list[str] policy_ids: Performs the operation on the unique policy IDs specified. Enter multiple policy IDs in comma-separated format. The `policy_ids` or `policy_names` parameter is required, but they cannot be set together. + :param list[str] policy_names: Performs the operation on the policy names specified. Enter multiple policy names in comma-separated format. For example, `name01,name02`. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: PolicyMemberExportGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if member_ids is not None: + if not isinstance(member_ids, list): + member_ids = [member_ids] + if member_names is not None: + if not isinstance(member_names, list): + member_names = [member_names] + if policy_ids is not None: + if not isinstance(policy_ids, list): + policy_ids = [policy_ids] + if policy_names is not None: + if not isinstance(policy_names, list): + policy_names = [policy_names] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_directories_policies_smb_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_directories_policies_smb_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'continuation_token' in params: + query_params.append(('continuation_token', params['continuation_token'])) + if 'destroyed' in params: + query_params.append(('destroyed', params['destroyed'])) + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'member_ids' in params: + query_params.append(('member_ids', params['member_ids'])) + collection_formats['member_ids'] = 'csv' + if 'member_names' in params: + query_params.append(('member_names', params['member_names'])) + collection_formats['member_names'] = 'csv' + if 'policy_ids' in params: + query_params.append(('policy_ids', params['policy_ids'])) + collection_formats['policy_ids'] = 'csv' + if 'policy_names' in params: + query_params.append(('policy_names', params['policy_names'])) + collection_formats['policy_names'] = 'csv' + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/directories/policies/smb', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='PolicyMemberExportGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_directories_policies_smb_post_with_http_info( + self, + policies=None, # type: models.DirectoryPolicyExportPost + authorization=None, # type: str + x_request_id=None, # type: str + member_ids=None, # type: List[str] + member_names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PolicyMemberExportResponse + """Create a membership between a directory and one or more SMB policies + + Creates a membership between a directory and one or more SMB policies. The `member_ids` or `member_names` parameter is required, but cannot be set together. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_directories_policies_smb_post_with_http_info(policies, async_req=True) + >>> result = thread.get() + + :param DirectoryPolicyExportPost policies: (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] member_ids: Performs the operation on the unique member IDs specified. Enter multiple member IDs in comma-separated format. The `member_ids` or `member_names` parameter is required, but they cannot be set together. + :param list[str] member_names: Performs the operation on the unique member name specified. Examples of members include volumes, hosts, host groups, and directories. Enter multiple names in comma-separated format. For example, `vol01,vol02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: PolicyMemberExportResponse + If the method is called asynchronously, + returns the request thread. + """ + if member_ids is not None: + if not isinstance(member_ids, list): + member_ids = [member_ids] + if member_names is not None: + if not isinstance(member_names, list): + member_names = [member_names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'policies' is set + if policies is None: + raise TypeError("Missing the required parameter `policies` when calling `api226_directories_policies_smb_post`") + + collection_formats = {} + path_params = {} + + query_params = [] + if 'member_ids' in params: + query_params.append(('member_ids', params['member_ids'])) + collection_formats['member_ids'] = 'csv' + if 'member_names' in params: + query_params.append(('member_names', params['member_names'])) + collection_formats['member_names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'policies' in params: + body_params = params['policies'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/directories/policies/smb', 'POST', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='PolicyMemberExportResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_directories_policies_snapshot_delete_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + member_ids=None, # type: List[str] + member_names=None, # type: List[str] + policy_ids=None, # type: List[str] + policy_names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """Delete a membership between a directory and one or more snapshot policies + + Deletes a membership between a directory and one or more snapshot policies. The `policy_ids` or `policy_names` parameter is required, but cannot be set together. The `member_ids` or `member_names` parameter is required, but cannot be set together. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_directories_policies_snapshot_delete_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] member_ids: Performs the operation on the unique member IDs specified. Enter multiple member IDs in comma-separated format. The `member_ids` or `member_names` parameter is required, but they cannot be set together. + :param list[str] member_names: Performs the operation on the unique member name specified. Examples of members include volumes, hosts, host groups, and directories. Enter multiple names in comma-separated format. For example, `vol01,vol02`. + :param list[str] policy_ids: Performs the operation on the unique policy IDs specified. Enter multiple policy IDs in comma-separated format. The `policy_ids` or `policy_names` parameter is required, but they cannot be set together. + :param list[str] policy_names: Performs the operation on the policy names specified. Enter multiple policy names in comma-separated format. For example, `name01,name02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: None + If the method is called asynchronously, + returns the request thread. + """ + if member_ids is not None: + if not isinstance(member_ids, list): + member_ids = [member_ids] + if member_names is not None: + if not isinstance(member_names, list): + member_names = [member_names] + if policy_ids is not None: + if not isinstance(policy_ids, list): + policy_ids = [policy_ids] + if policy_names is not None: + if not isinstance(policy_names, list): + policy_names = [policy_names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + collection_formats = {} + path_params = {} + + query_params = [] + if 'member_ids' in params: + query_params.append(('member_ids', params['member_ids'])) + collection_formats['member_ids'] = 'csv' + if 'member_names' in params: + query_params.append(('member_names', params['member_names'])) + collection_formats['member_names'] = 'csv' + if 'policy_ids' in params: + query_params.append(('policy_ids', params['policy_ids'])) + collection_formats['policy_ids'] = 'csv' + if 'policy_names' in params: + query_params.append(('policy_names', params['policy_names'])) + collection_formats['policy_names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/directories/policies/snapshot', 'DELETE', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type=None, + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_directories_policies_snapshot_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + destroyed=None, # type: bool + filter=None, # type: str + limit=None, # type: int + member_ids=None, # type: List[str] + member_names=None, # type: List[str] + policy_ids=None, # type: List[str] + policy_names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PolicyMemberGetResponse + """List snapshot policies attached to a directory + + Displays a list of snapshot policies that are attached to directories. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_directories_policies_snapshot_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str continuation_token: A token used to retrieve the next page of data with some consistency guaranteed. The token is a Base64 encoded value. Set `continuation_token` to the system-generated token taken from the `x-next-token` header field of the response. A query has reached its last page when the response does not include a token. Pagination requires the `limit` and `continuation_token` query parameters. + :param bool destroyed: If set to `true`, lists only destroyed objects that are in the eradication pending state. If set to `false`, lists only objects that are not destroyed. For destroyed objects, the time remaining is displayed in milliseconds. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param list[str] member_ids: Performs the operation on the unique member IDs specified. Enter multiple member IDs in comma-separated format. The `member_ids` or `member_names` parameter is required, but they cannot be set together. + :param list[str] member_names: Performs the operation on the unique member name specified. Examples of members include volumes, hosts, host groups, and directories. Enter multiple names in comma-separated format. For example, `vol01,vol02`. + :param list[str] policy_ids: Performs the operation on the unique policy IDs specified. Enter multiple policy IDs in comma-separated format. The `policy_ids` or `policy_names` parameter is required, but they cannot be set together. + :param list[str] policy_names: Performs the operation on the policy names specified. Enter multiple policy names in comma-separated format. For example, `name01,name02`. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: PolicyMemberGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if member_ids is not None: + if not isinstance(member_ids, list): + member_ids = [member_ids] + if member_names is not None: + if not isinstance(member_names, list): + member_names = [member_names] + if policy_ids is not None: + if not isinstance(policy_ids, list): + policy_ids = [policy_ids] + if policy_names is not None: + if not isinstance(policy_names, list): + policy_names = [policy_names] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_directories_policies_snapshot_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_directories_policies_snapshot_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'continuation_token' in params: + query_params.append(('continuation_token', params['continuation_token'])) + if 'destroyed' in params: + query_params.append(('destroyed', params['destroyed'])) + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'member_ids' in params: + query_params.append(('member_ids', params['member_ids'])) + collection_formats['member_ids'] = 'csv' + if 'member_names' in params: + query_params.append(('member_names', params['member_names'])) + collection_formats['member_names'] = 'csv' + if 'policy_ids' in params: + query_params.append(('policy_ids', params['policy_ids'])) + collection_formats['policy_ids'] = 'csv' + if 'policy_names' in params: + query_params.append(('policy_names', params['policy_names'])) + collection_formats['policy_names'] = 'csv' + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/directories/policies/snapshot', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='PolicyMemberGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_directories_policies_snapshot_post_with_http_info( + self, + policies=None, # type: models.DirectoryPolicyPost + authorization=None, # type: str + x_request_id=None, # type: str + member_ids=None, # type: List[str] + member_names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PolicyMemberResponse + """Create a membership between a directory with one or more snapshot policies + + Creates a membership between a directory with one or more snapshot policies. The `member_ids` or `member_names` parameter is required, but cannot be set together. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_directories_policies_snapshot_post_with_http_info(policies, async_req=True) + >>> result = thread.get() + + :param DirectoryPolicyPost policies: (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] member_ids: Performs the operation on the unique member IDs specified. Enter multiple member IDs in comma-separated format. The `member_ids` or `member_names` parameter is required, but they cannot be set together. + :param list[str] member_names: Performs the operation on the unique member name specified. Examples of members include volumes, hosts, host groups, and directories. Enter multiple names in comma-separated format. For example, `vol01,vol02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: PolicyMemberResponse + If the method is called asynchronously, + returns the request thread. + """ + if member_ids is not None: + if not isinstance(member_ids, list): + member_ids = [member_ids] + if member_names is not None: + if not isinstance(member_names, list): + member_names = [member_names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'policies' is set + if policies is None: + raise TypeError("Missing the required parameter `policies` when calling `api226_directories_policies_snapshot_post`") + + collection_formats = {} + path_params = {} + + query_params = [] + if 'member_ids' in params: + query_params.append(('member_ids', params['member_ids'])) + collection_formats['member_ids'] = 'csv' + if 'member_names' in params: + query_params.append(('member_names', params['member_names'])) + collection_formats['member_names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'policies' in params: + body_params = params['policies'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/directories/policies/snapshot', 'POST', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='PolicyMemberResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_directories_post_with_http_info( + self, + directory=None, # type: models.DirectoryPost + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + file_system_names=None, # type: List[str] + file_system_ids=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.DirectoryResponse + """Create directory + + Creates a managed directory at the specified path. The managed directory name must consist of a file system name prefix and a managed directory name suffix (separated with ':'). The suffix must be between 1 and 63 characters (alphanumeric and '-') in length and begin and end with a letter or number. The suffix must include at least one letter or '-'. Set `names` to create a managed directory with the specified full managed directory name, or set `file_system_names` or `file_system_ids` in the query parameters and `suffix` in the body parameters to create a managed directory in the specified file system with the specified suffix. These two options are exclusive. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_directories_post_with_http_info(directory, async_req=True) + >>> result = thread.get() + + :param DirectoryPost directory: (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param list[str] file_system_names: Performs the operation on the file system name specified. Enter multiple file system names in comma-separated format. For example, `filesystem01,filesystem02`. + :param list[str] file_system_ids: Performs the operation on the file system ID specified. Enter multiple file system IDs in comma-separated format. The `file_system_ids` or `file_system_names` parameter is required, but they cannot be set together. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: DirectoryResponse + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + if file_system_names is not None: + if not isinstance(file_system_names, list): + file_system_names = [file_system_names] + if file_system_ids is not None: + if not isinstance(file_system_ids, list): + file_system_ids = [file_system_ids] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'directory' is set + if directory is None: + raise TypeError("Missing the required parameter `directory` when calling `api226_directories_post`") + + collection_formats = {} + path_params = {} + + query_params = [] + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'file_system_names' in params: + query_params.append(('file_system_names', params['file_system_names'])) + collection_formats['file_system_names'] = 'csv' + if 'file_system_ids' in params: + query_params.append(('file_system_ids', params['file_system_ids'])) + collection_formats['file_system_ids'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'directory' in params: + body_params = params['directory'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/directories', 'POST', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='DirectoryResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_directories_space_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + destroyed=None, # type: bool + filter=None, # type: str + end_time=None, # type: int + resolution=None, # type: int + start_time=None, # type: int + ids=None, # type: List[str] + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + total_only=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.ResourceDirectorySpaceGetResponse + """List directory space information + + Displays physical storage consumption data for each directory. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_directories_space_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param bool destroyed: If set to `true`, lists only destroyed objects that are in the eradication pending state. If set to `false`, lists only objects that are not destroyed. For destroyed objects, the time remaining is displayed in milliseconds. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param int end_time: Displays historical performance data for the specified time window, where `start_time` is the beginning of the time window, and `end_time` is the end of the time window. The `start_time` and `end_time` parameters are specified in milliseconds since the UNIX epoch. If `start_time` is not specified, the start time will default to one resolution before the end time, meaning that the most recent sample of performance data will be displayed. If `end_time`is not specified, the end time will default to the current time. Include the `resolution` parameter to display the performance data at the specified resolution. If not specified, `resolution` defaults to the lowest valid resolution. + :param int resolution: The number of milliseconds between samples of historical data. For array-wide performance metrics (`/arrays/performance` endpoint), valid values are `1000` (1 second), `30000` (30 seconds), `300000` (5 minutes), `1800000` (30 minutes), `7200000` (2 hours), `28800000` (8 hours), and `86400000` (24 hours). For performance metrics on storage objects (`/performance` endpoint), such as volumes, valid values are `30000` (30 seconds), `300000` (5 minutes), `1800000` (30 minutes), `7200000` (2 hours), `28800000` (8 hours), and `86400000` (24 hours). For space metrics, (`/space` endpoint), valid values are `300000` (5 minutes), `1800000` (30 minutes), `7200000` (2 hours), `28800000` (8 hours), and `86400000` (24 hours). Include the `start_time` parameter to display the performance data starting at the specified start time. If `start_time` is not specified, the start time will default to one resolution before the end time, meaning that the most recent sample of performance data will be displayed. Include the `end_time` parameter to display the performance data until the specified end time. If `end_time`is not specified, the end time will default to the current time. If the `resolution` parameter is not specified but either the `start_time` or `end_time` parameter is, then `resolution` will default to the lowest valid resolution. + :param int start_time: Displays historical performance data for the specified time window, where `start_time` is the beginning of the time window, and `end_time` is the end of the time window. The `start_time` and `end_time` parameters are specified in milliseconds since the UNIX epoch. If `start_time` is not specified, the start time will default to one resolution before the end time, meaning that the most recent sample of performance data will be displayed. If `end_time`is not specified, the end time will default to the current time. Include the `resolution` parameter to display the performance data at the specified resolution. If not specified, `resolution` defaults to the lowest valid resolution. + :param list[str] ids: Performs the operation on the unique resource IDs specified. Enter multiple resource IDs in comma-separated format. The `ids` or `names` parameter is required, but they cannot be set together. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool total_only: If set to `true`, returns the aggregate value of all items after filtering. Where it makes more sense, the average value is displayed instead. The values are displayed for each name where meaningful. If `total_only=true`, the `items` list will be empty. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: ResourceDirectorySpaceGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if ids is not None: + if not isinstance(ids, list): + ids = [ids] + if names is not None: + if not isinstance(names, list): + names = [names] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'resolution' in params and params['resolution'] < 0: + raise ValueError("Invalid value for parameter `resolution` when calling `api226_directories_space_get`, must be a value greater than or equal to `0`") + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_directories_space_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_directories_space_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'destroyed' in params: + query_params.append(('destroyed', params['destroyed'])) + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'end_time' in params: + query_params.append(('end_time', params['end_time'])) + if 'resolution' in params: + query_params.append(('resolution', params['resolution'])) + if 'start_time' in params: + query_params.append(('start_time', params['start_time'])) + if 'ids' in params: + query_params.append(('ids', params['ids'])) + collection_formats['ids'] = 'csv' + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + if 'total_only' in params: + query_params.append(('total_only', params['total_only'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/directories/space', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='ResourceDirectorySpaceGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) diff --git a/pypureclient/flasharray/FA_2_26/api/directory_exports_api.py b/pypureclient/flasharray/FA_2_26/api/directory_exports_api.py new file mode 100644 index 000000000..c11b7c49e --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/api/directory_exports_api.py @@ -0,0 +1,406 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +from __future__ import absolute_import + +import re + +# python 2 and python 3 compatibility library +import six +from typing import List, Optional + +from .. import models + +class DirectoryExportsApi(object): + + def __init__(self, api_client): + self.api_client = api_client + + def api226_directory_exports_delete_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + export_names=None, # type: List[str] + policy_ids=None, # type: List[str] + policy_names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """Delete directory exports + + Deletes one or more directory exports. If any of the `export_names` is not unique across the system, `policy_ids` or `policy_names` must be specified to determine the exports. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_directory_exports_delete_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] export_names: Performs the operation on the export names specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param list[str] policy_ids: Performs the operation on the unique policy IDs specified. Enter multiple policy IDs in comma-separated format. The `policy_ids` or `policy_names` parameter is required, but they cannot be set together. + :param list[str] policy_names: Performs the operation on the policy names specified. Enter multiple policy names in comma-separated format. For example, `name01,name02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: None + If the method is called asynchronously, + returns the request thread. + """ + if export_names is not None: + if not isinstance(export_names, list): + export_names = [export_names] + if policy_ids is not None: + if not isinstance(policy_ids, list): + policy_ids = [policy_ids] + if policy_names is not None: + if not isinstance(policy_names, list): + policy_names = [policy_names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + collection_formats = {} + path_params = {} + + query_params = [] + if 'export_names' in params: + query_params.append(('export_names', params['export_names'])) + collection_formats['export_names'] = 'csv' + if 'policy_ids' in params: + query_params.append(('policy_ids', params['policy_ids'])) + collection_formats['policy_ids'] = 'csv' + if 'policy_names' in params: + query_params.append(('policy_names', params['policy_names'])) + collection_formats['policy_names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/directory-exports', 'DELETE', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type=None, + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_directory_exports_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + destroyed=None, # type: bool + directory_ids=None, # type: List[str] + directory_names=None, # type: List[str] + export_names=None, # type: List[str] + filter=None, # type: str + limit=None, # type: int + offset=None, # type: int + policy_ids=None, # type: List[str] + policy_names=None, # type: List[str] + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.DirectoryExportGetResponse + """List directory exports + + Displays a list of directory exports. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_directory_exports_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str continuation_token: A token used to retrieve the next page of data with some consistency guaranteed. The token is a Base64 encoded value. Set `continuation_token` to the system-generated token taken from the `x-next-token` header field of the response. A query has reached its last page when the response does not include a token. Pagination requires the `limit` and `continuation_token` query parameters. + :param bool destroyed: If set to `true`, lists only destroyed objects that are in the eradication pending state. If set to `false`, lists only objects that are not destroyed. For destroyed objects, the time remaining is displayed in milliseconds. + :param list[str] directory_ids: Performs the operation on the unique managed directory IDs specified. Enter multiple managed directory IDs in comma-separated format. The `directory_ids` or `directory_names` parameter is required, but they cannot be set together. + :param list[str] directory_names: Performs the operation on the managed directory names specified. Enter multiple full managed directory names in comma-separated format. For example, `fs:dir01,fs:dir02`. + :param list[str] export_names: Performs the operation on the export names specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] policy_ids: Performs the operation on the unique policy IDs specified. Enter multiple policy IDs in comma-separated format. The `policy_ids` or `policy_names` parameter is required, but they cannot be set together. + :param list[str] policy_names: Performs the operation on the policy names specified. Enter multiple policy names in comma-separated format. For example, `name01,name02`. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: DirectoryExportGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if directory_ids is not None: + if not isinstance(directory_ids, list): + directory_ids = [directory_ids] + if directory_names is not None: + if not isinstance(directory_names, list): + directory_names = [directory_names] + if export_names is not None: + if not isinstance(export_names, list): + export_names = [export_names] + if policy_ids is not None: + if not isinstance(policy_ids, list): + policy_ids = [policy_ids] + if policy_names is not None: + if not isinstance(policy_names, list): + policy_names = [policy_names] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_directory_exports_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_directory_exports_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'continuation_token' in params: + query_params.append(('continuation_token', params['continuation_token'])) + if 'destroyed' in params: + query_params.append(('destroyed', params['destroyed'])) + if 'directory_ids' in params: + query_params.append(('directory_ids', params['directory_ids'])) + collection_formats['directory_ids'] = 'csv' + if 'directory_names' in params: + query_params.append(('directory_names', params['directory_names'])) + collection_formats['directory_names'] = 'csv' + if 'export_names' in params: + query_params.append(('export_names', params['export_names'])) + collection_formats['export_names'] = 'csv' + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'policy_ids' in params: + query_params.append(('policy_ids', params['policy_ids'])) + collection_formats['policy_ids'] = 'csv' + if 'policy_names' in params: + query_params.append(('policy_names', params['policy_names'])) + collection_formats['policy_names'] = 'csv' + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/directory-exports', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='DirectoryExportGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_directory_exports_post_with_http_info( + self, + exports=None, # type: models.DirectoryExportPost + authorization=None, # type: str + x_request_id=None, # type: str + directory_ids=None, # type: List[str] + directory_names=None, # type: List[str] + policy_ids=None, # type: List[str] + policy_names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.DirectoryExportResponse + """Create directory exports + + Creates an export of a managed directory. The `directory_ids` or `directory_names` parameter is required, but cannot be set together. The `policy_ids` or `policy_names` parameter is required, but cannot be set together. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_directory_exports_post_with_http_info(exports, async_req=True) + >>> result = thread.get() + + :param DirectoryExportPost exports: (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] directory_ids: Performs the operation on the unique managed directory IDs specified. Enter multiple managed directory IDs in comma-separated format. The `directory_ids` or `directory_names` parameter is required, but they cannot be set together. + :param list[str] directory_names: Performs the operation on the managed directory names specified. Enter multiple full managed directory names in comma-separated format. For example, `fs:dir01,fs:dir02`. + :param list[str] policy_ids: Performs the operation on the unique policy IDs specified. Enter multiple policy IDs in comma-separated format. The `policy_ids` or `policy_names` parameter is required, but they cannot be set together. + :param list[str] policy_names: Performs the operation on the policy names specified. Enter multiple policy names in comma-separated format. For example, `name01,name02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: DirectoryExportResponse + If the method is called asynchronously, + returns the request thread. + """ + if directory_ids is not None: + if not isinstance(directory_ids, list): + directory_ids = [directory_ids] + if directory_names is not None: + if not isinstance(directory_names, list): + directory_names = [directory_names] + if policy_ids is not None: + if not isinstance(policy_ids, list): + policy_ids = [policy_ids] + if policy_names is not None: + if not isinstance(policy_names, list): + policy_names = [policy_names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'exports' is set + if exports is None: + raise TypeError("Missing the required parameter `exports` when calling `api226_directory_exports_post`") + + collection_formats = {} + path_params = {} + + query_params = [] + if 'directory_ids' in params: + query_params.append(('directory_ids', params['directory_ids'])) + collection_formats['directory_ids'] = 'csv' + if 'directory_names' in params: + query_params.append(('directory_names', params['directory_names'])) + collection_formats['directory_names'] = 'csv' + if 'policy_ids' in params: + query_params.append(('policy_ids', params['policy_ids'])) + collection_formats['policy_ids'] = 'csv' + if 'policy_names' in params: + query_params.append(('policy_names', params['policy_names'])) + collection_formats['policy_names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'exports' in params: + body_params = params['exports'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/directory-exports', 'POST', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='DirectoryExportResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) diff --git a/pypureclient/flasharray/FA_2_26/api/directory_quotas_api.py b/pypureclient/flasharray/FA_2_26/api/directory_quotas_api.py new file mode 100644 index 000000000..3397914b2 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/api/directory_quotas_api.py @@ -0,0 +1,171 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +from __future__ import absolute_import + +import re + +# python 2 and python 3 compatibility library +import six +from typing import List, Optional + +from .. import models + +class DirectoryQuotasApi(object): + + def __init__(self, api_client): + self.api_client = api_client + + def api226_directory_quotas_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + directory_ids=None, # type: List[str] + directory_names=None, # type: List[str] + filter=None, # type: str + limit=None, # type: int + offset=None, # type: int + policy_ids=None, # type: List[str] + policy_names=None, # type: List[str] + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.DirectoryQuotasGetResponse + """List directories with attached quota policies + + Displays a list of directories and the quota policies attached to them. Directories with multiple policies are listed repeatedly (once per policy). The directories without a policy attached are not listed. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_directory_quotas_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str continuation_token: A token used to retrieve the next page of data with some consistency guaranteed. The token is a Base64 encoded value. Set `continuation_token` to the system-generated token taken from the `x-next-token` header field of the response. A query has reached its last page when the response does not include a token. Pagination requires the `limit` and `continuation_token` query parameters. + :param list[str] directory_ids: Performs the operation on the unique managed directory IDs specified. Enter multiple managed directory IDs in comma-separated format. The `directory_ids` or `directory_names` parameter is required, but they cannot be set together. + :param list[str] directory_names: Performs the operation on the managed directory names specified. Enter multiple full managed directory names in comma-separated format. For example, `fs:dir01,fs:dir02`. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] policy_ids: Performs the operation on the unique policy IDs specified. Enter multiple policy IDs in comma-separated format. The `policy_ids` or `policy_names` parameter is required, but they cannot be set together. + :param list[str] policy_names: Performs the operation on the policy names specified. Enter multiple policy names in comma-separated format. For example, `name01,name02`. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: DirectoryQuotasGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if directory_ids is not None: + if not isinstance(directory_ids, list): + directory_ids = [directory_ids] + if directory_names is not None: + if not isinstance(directory_names, list): + directory_names = [directory_names] + if policy_ids is not None: + if not isinstance(policy_ids, list): + policy_ids = [policy_ids] + if policy_names is not None: + if not isinstance(policy_names, list): + policy_names = [policy_names] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_directory_quotas_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_directory_quotas_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'continuation_token' in params: + query_params.append(('continuation_token', params['continuation_token'])) + if 'directory_ids' in params: + query_params.append(('directory_ids', params['directory_ids'])) + collection_formats['directory_ids'] = 'csv' + if 'directory_names' in params: + query_params.append(('directory_names', params['directory_names'])) + collection_formats['directory_names'] = 'csv' + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'policy_ids' in params: + query_params.append(('policy_ids', params['policy_ids'])) + collection_formats['policy_ids'] = 'csv' + if 'policy_names' in params: + query_params.append(('policy_names', params['policy_names'])) + collection_formats['policy_names'] = 'csv' + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/directory-quotas', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='DirectoryQuotasGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) diff --git a/pypureclient/flasharray/FA_2_26/api/directory_services_api.py b/pypureclient/flasharray/FA_2_26/api/directory_services_api.py new file mode 100644 index 000000000..c69d48075 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/api/directory_services_api.py @@ -0,0 +1,2320 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +from __future__ import absolute_import + +import re + +# python 2 and python 3 compatibility library +import six +from typing import List, Optional + +from .. import models + +class DirectoryServicesApi(object): + + def __init__(self, api_client): + self.api_client = api_client + + def api226_directory_services_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + filter=None, # type: str + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.DirectoryServiceGetResponse + """List directory services configuration + + Displays the role-based access control (RBAC) group configuration settings for manageability. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_directory_services_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str continuation_token: A token used to retrieve the next page of data with some consistency guaranteed. The token is a Base64 encoded value. Set `continuation_token` to the system-generated token taken from the `x-next-token` header field of the response. A query has reached its last page when the response does not include a token. Pagination requires the `limit` and `continuation_token` query parameters. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: DirectoryServiceGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_directory_services_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_directory_services_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'continuation_token' in params: + query_params.append(('continuation_token', params['continuation_token'])) + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/directory-services', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='DirectoryServiceGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_directory_services_local_groups_delete_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + sids=None, # type: List[str] + gids=None, # type: List[int] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """Delete local groups + + Deletes one or more local groups. The `gids`, `names`, or `sids` parameter is required, but cannot be set together. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_directory_services_local_groups_delete_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param list[str] sids: Performs the operation on the object SID specified. Enter multiple SIDs in comma-separated format. For example, `S-1-2-532-582374278-329482934,S-1-2-532-234235245-423425234`. + :param list[int] gids: Performs the operation on the specified GIDs. Enter multiple GIDs in comma-separated format. For example, `4234235,9681923`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: None + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + if sids is not None: + if not isinstance(sids, list): + sids = [sids] + if gids is not None: + if not isinstance(gids, list): + gids = [gids] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + collection_formats = {} + path_params = {} + + query_params = [] + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'sids' in params: + query_params.append(('sids', params['sids'])) + collection_formats['sids'] = 'csv' + if 'gids' in params: + query_params.append(('gids', params['gids'])) + collection_formats['gids'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/directory-services/local/groups', 'DELETE', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type=None, + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_directory_services_local_groups_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + ids=None, # type: List[str] + gids=None, # type: List[int] + sids=None, # type: List[str] + names=None, # type: List[str] + filter=None, # type: str + limit=None, # type: int + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.LocalGroupGetResponse + """List local groups + + Displays a list of local groups. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_directory_services_local_groups_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str continuation_token: A token used to retrieve the next page of data with some consistency guaranteed. The token is a Base64 encoded value. Set `continuation_token` to the system-generated token taken from the `x-next-token` header field of the response. A query has reached its last page when the response does not include a token. Pagination requires the `limit` and `continuation_token` query parameters. + :param list[str] ids: Performs the operation on the unique resource IDs specified. Enter multiple resource IDs in comma-separated format. The `ids` or `names` parameter is required, but they cannot be set together. + :param list[int] gids: Performs the operation on the specified GIDs. Enter multiple GIDs in comma-separated format. For example, `4234235,9681923`. + :param list[str] sids: Performs the operation on the object SID specified. Enter multiple SIDs in comma-separated format. For example, `S-1-2-532-582374278-329482934,S-1-2-532-234235245-423425234`. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: LocalGroupGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if ids is not None: + if not isinstance(ids, list): + ids = [ids] + if gids is not None: + if not isinstance(gids, list): + gids = [gids] + if sids is not None: + if not isinstance(sids, list): + sids = [sids] + if names is not None: + if not isinstance(names, list): + names = [names] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_directory_services_local_groups_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_directory_services_local_groups_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'continuation_token' in params: + query_params.append(('continuation_token', params['continuation_token'])) + if 'ids' in params: + query_params.append(('ids', params['ids'])) + collection_formats['ids'] = 'csv' + if 'gids' in params: + query_params.append(('gids', params['gids'])) + collection_formats['gids'] = 'csv' + if 'sids' in params: + query_params.append(('sids', params['sids'])) + collection_formats['sids'] = 'csv' + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/directory-services/local/groups', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='LocalGroupGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_directory_services_local_groups_members_delete_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + group_names=None, # type: List[str] + group_sids=None, # type: List[str] + group_gids=None, # type: List[int] + member_names=None, # type: List[str] + member_sids=None, # type: List[str] + member_ids=None, # type: List[int] + member_types=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """Delete local group membership + + Deletes one or more local group memberships. The `group_names`, `group_sids`, or `group_ids` parameter is required, but cannot be set together. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_directory_services_local_groups_members_delete_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] group_names: Performs the operation on the group names specified. Enter multiple group names in comma-separated format. For example, `group1,group2`. + :param list[str] group_sids: Performs the operation on the specified group SID. Enter multiple group SIDs in comma-separated format. For example, `S-1-2-532-582374278-329482934,S-1-2-532-234235245-423425234`. + :param list[int] group_gids: Performs the operation on the specified GIDs. Enter multiple GIDs in comma-separated format. For example, `4234235,9681923`. + :param list[str] member_names: Performs the operation on the unique member name specified. Examples of members include volumes, hosts, host groups, and directories. Enter multiple names in comma-separated format. For example, `vol01,vol02`. + :param list[str] member_sids: Performs the operation on the specified member SID. Enter multiple member SIDs in comma-separated format. For example, `S-1-2-532-582374278-329482934,S-1-2-532-234235245-423425234`. + :param list[int] member_ids: Performs the operation on the unique local member IDs specified. Enter multiple member IDs in comma-separated format. For local group IDs refer to group IDs (GID). For local user IDs refer to user IDs (UID). The `member_ids` and `member_names` parameters cannot be provided together. + :param list[str] member_types: Performs the operation on the member types specified. The type of member is the full name of the resource endpoint. Valid values include `directories`. Enter multiple member types in comma-separated format. For example, `type01,type02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: None + If the method is called asynchronously, + returns the request thread. + """ + if group_names is not None: + if not isinstance(group_names, list): + group_names = [group_names] + if group_sids is not None: + if not isinstance(group_sids, list): + group_sids = [group_sids] + if group_gids is not None: + if not isinstance(group_gids, list): + group_gids = [group_gids] + if member_names is not None: + if not isinstance(member_names, list): + member_names = [member_names] + if member_sids is not None: + if not isinstance(member_sids, list): + member_sids = [member_sids] + if member_ids is not None: + if not isinstance(member_ids, list): + member_ids = [member_ids] + if member_types is not None: + if not isinstance(member_types, list): + member_types = [member_types] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + collection_formats = {} + path_params = {} + + query_params = [] + if 'group_names' in params: + query_params.append(('group_names', params['group_names'])) + collection_formats['group_names'] = 'csv' + if 'group_sids' in params: + query_params.append(('group_sids', params['group_sids'])) + collection_formats['group_sids'] = 'csv' + if 'group_gids' in params: + query_params.append(('group_gids', params['group_gids'])) + collection_formats['group_gids'] = 'csv' + if 'member_names' in params: + query_params.append(('member_names', params['member_names'])) + collection_formats['member_names'] = 'csv' + if 'member_sids' in params: + query_params.append(('member_sids', params['member_sids'])) + collection_formats['member_sids'] = 'csv' + if 'member_ids' in params: + query_params.append(('member_ids', params['member_ids'])) + collection_formats['member_ids'] = 'csv' + if 'member_types' in params: + query_params.append(('member_types', params['member_types'])) + collection_formats['member_types'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/directory-services/local/groups/members', 'DELETE', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type=None, + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_directory_services_local_groups_members_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + group_names=None, # type: List[str] + group_sids=None, # type: List[str] + group_gids=None, # type: List[int] + member_names=None, # type: List[str] + member_sids=None, # type: List[str] + member_ids=None, # type: List[int] + member_types=None, # type: List[str] + filter=None, # type: str + limit=None, # type: int + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.LocalMembershipGetResponse + """List local group memberships + + Displays a list of local group memberships. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_directory_services_local_groups_members_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str continuation_token: A token used to retrieve the next page of data with some consistency guaranteed. The token is a Base64 encoded value. Set `continuation_token` to the system-generated token taken from the `x-next-token` header field of the response. A query has reached its last page when the response does not include a token. Pagination requires the `limit` and `continuation_token` query parameters. + :param list[str] group_names: Performs the operation on the group names specified. Enter multiple group names in comma-separated format. For example, `group1,group2`. + :param list[str] group_sids: Performs the operation on the specified group SID. Enter multiple group SIDs in comma-separated format. For example, `S-1-2-532-582374278-329482934,S-1-2-532-234235245-423425234`. + :param list[int] group_gids: Performs the operation on the specified GIDs. Enter multiple GIDs in comma-separated format. For example, `4234235,9681923`. + :param list[str] member_names: Performs the operation on the unique member name specified. Examples of members include volumes, hosts, host groups, and directories. Enter multiple names in comma-separated format. For example, `vol01,vol02`. + :param list[str] member_sids: Performs the operation on the specified member SID. Enter multiple member SIDs in comma-separated format. For example, `S-1-2-532-582374278-329482934,S-1-2-532-234235245-423425234`. + :param list[int] member_ids: Performs the operation on the unique local member IDs specified. Enter multiple member IDs in comma-separated format. For local group IDs refer to group IDs (GID). For local user IDs refer to user IDs (UID). The `member_ids` and `member_names` parameters cannot be provided together. + :param list[str] member_types: Performs the operation on the member types specified. The type of member is the full name of the resource endpoint. Valid values include `directories`. Enter multiple member types in comma-separated format. For example, `type01,type02`. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: LocalMembershipGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if group_names is not None: + if not isinstance(group_names, list): + group_names = [group_names] + if group_sids is not None: + if not isinstance(group_sids, list): + group_sids = [group_sids] + if group_gids is not None: + if not isinstance(group_gids, list): + group_gids = [group_gids] + if member_names is not None: + if not isinstance(member_names, list): + member_names = [member_names] + if member_sids is not None: + if not isinstance(member_sids, list): + member_sids = [member_sids] + if member_ids is not None: + if not isinstance(member_ids, list): + member_ids = [member_ids] + if member_types is not None: + if not isinstance(member_types, list): + member_types = [member_types] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_directory_services_local_groups_members_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_directory_services_local_groups_members_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'continuation_token' in params: + query_params.append(('continuation_token', params['continuation_token'])) + if 'group_names' in params: + query_params.append(('group_names', params['group_names'])) + collection_formats['group_names'] = 'csv' + if 'group_sids' in params: + query_params.append(('group_sids', params['group_sids'])) + collection_formats['group_sids'] = 'csv' + if 'group_gids' in params: + query_params.append(('group_gids', params['group_gids'])) + collection_formats['group_gids'] = 'csv' + if 'member_names' in params: + query_params.append(('member_names', params['member_names'])) + collection_formats['member_names'] = 'csv' + if 'member_sids' in params: + query_params.append(('member_sids', params['member_sids'])) + collection_formats['member_sids'] = 'csv' + if 'member_ids' in params: + query_params.append(('member_ids', params['member_ids'])) + collection_formats['member_ids'] = 'csv' + if 'member_types' in params: + query_params.append(('member_types', params['member_types'])) + collection_formats['member_types'] = 'csv' + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/directory-services/local/groups/members', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='LocalMembershipGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_directory_services_local_groups_members_post_with_http_info( + self, + local_membership=None, # type: models.LocalGroupMembershipPost + authorization=None, # type: str + x_request_id=None, # type: str + group_names=None, # type: List[str] + group_sids=None, # type: List[str] + group_gids=None, # type: List[int] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.LocalMembershipResponse + """Create local group membership + + Creates a local group membership with a group. The `group_names`, `group_sids`, or `group_ids` parameter is required, but cannot be set together. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_directory_services_local_groups_members_post_with_http_info(local_membership, async_req=True) + >>> result = thread.get() + + :param LocalGroupMembershipPost local_membership: The `member_names`, `member_sids`, or `member_gids` parameter is required, but cannot be set together. (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] group_names: Performs the operation on the group names specified. Enter multiple group names in comma-separated format. For example, `group1,group2`. + :param list[str] group_sids: Performs the operation on the specified group SID. Enter multiple group SIDs in comma-separated format. For example, `S-1-2-532-582374278-329482934,S-1-2-532-234235245-423425234`. + :param list[int] group_gids: Performs the operation on the specified GIDs. Enter multiple GIDs in comma-separated format. For example, `4234235,9681923`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: LocalMembershipResponse + If the method is called asynchronously, + returns the request thread. + """ + if group_names is not None: + if not isinstance(group_names, list): + group_names = [group_names] + if group_sids is not None: + if not isinstance(group_sids, list): + group_sids = [group_sids] + if group_gids is not None: + if not isinstance(group_gids, list): + group_gids = [group_gids] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'local_membership' is set + if local_membership is None: + raise TypeError("Missing the required parameter `local_membership` when calling `api226_directory_services_local_groups_members_post`") + + collection_formats = {} + path_params = {} + + query_params = [] + if 'group_names' in params: + query_params.append(('group_names', params['group_names'])) + collection_formats['group_names'] = 'csv' + if 'group_sids' in params: + query_params.append(('group_sids', params['group_sids'])) + collection_formats['group_sids'] = 'csv' + if 'group_gids' in params: + query_params.append(('group_gids', params['group_gids'])) + collection_formats['group_gids'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'local_membership' in params: + body_params = params['local_membership'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/directory-services/local/groups/members', 'POST', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='LocalMembershipResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_directory_services_local_groups_patch_with_http_info( + self, + local_group=None, # type: models.LocalGroup + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + sids=None, # type: List[str] + gids=None, # type: List[int] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.LocalGroupResponse + """Modify local groups + + Modifies local groups. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_directory_services_local_groups_patch_with_http_info(local_group, async_req=True) + >>> result = thread.get() + + :param LocalGroup local_group: (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param list[str] sids: Performs the operation on the object SID specified. Enter multiple SIDs in comma-separated format. For example, `S-1-2-532-582374278-329482934,S-1-2-532-234235245-423425234`. + :param list[int] gids: Performs the operation on the specified GIDs. Enter multiple GIDs in comma-separated format. For example, `4234235,9681923`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: LocalGroupResponse + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + if sids is not None: + if not isinstance(sids, list): + sids = [sids] + if gids is not None: + if not isinstance(gids, list): + gids = [gids] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'local_group' is set + if local_group is None: + raise TypeError("Missing the required parameter `local_group` when calling `api226_directory_services_local_groups_patch`") + + collection_formats = {} + path_params = {} + + query_params = [] + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'sids' in params: + query_params.append(('sids', params['sids'])) + collection_formats['sids'] = 'csv' + if 'gids' in params: + query_params.append(('gids', params['gids'])) + collection_formats['gids'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'local_group' in params: + body_params = params['local_group'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/directory-services/local/groups', 'PATCH', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='LocalGroupResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_directory_services_local_groups_post_with_http_info( + self, + names=None, # type: List[str] + authorization=None, # type: str + x_request_id=None, # type: str + local_group=None, # type: models.LocalGroupPost + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.LocalGroupResponse + """Create local group + + Creates a local group. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_directory_services_local_groups_post_with_http_info(names, async_req=True) + >>> result = thread.get() + + :param list[str] names: Performs the operation on the unique name specified. For example, `name01`. Enter multiple names in comma-separated format. (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param LocalGroupPost local_group: + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: LocalGroupResponse + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'names' is set + if names is None: + raise TypeError("Missing the required parameter `names` when calling `api226_directory_services_local_groups_post`") + + collection_formats = {} + path_params = {} + + query_params = [] + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'local_group' in params: + body_params = params['local_group'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/directory-services/local/groups', 'POST', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='LocalGroupResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_directory_services_local_users_delete_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + sids=None, # type: List[str] + uids=None, # type: List[int] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """Delete local users + + Deletes one or more local users. The `uids`, `names`, or `sids` parameter is required, but cannot be set together. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_directory_services_local_users_delete_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param list[str] sids: Performs the operation on the object SID specified. Enter multiple SIDs in comma-separated format. For example, `S-1-2-532-582374278-329482934,S-1-2-532-234235245-423425234`. + :param list[int] uids: A comma-separated list of local user IDs (UIDs). Enter multiple local user IDs in comma-separated format. For example, `423,51234`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: None + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + if sids is not None: + if not isinstance(sids, list): + sids = [sids] + if uids is not None: + if not isinstance(uids, list): + uids = [uids] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + collection_formats = {} + path_params = {} + + query_params = [] + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'sids' in params: + query_params.append(('sids', params['sids'])) + collection_formats['sids'] = 'csv' + if 'uids' in params: + query_params.append(('uids', params['uids'])) + collection_formats['uids'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/directory-services/local/users', 'DELETE', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type=None, + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_directory_services_local_users_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + ids=None, # type: List[str] + uids=None, # type: List[int] + sids=None, # type: List[str] + names=None, # type: List[str] + filter=None, # type: str + limit=None, # type: int + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.LocalUserGetResponse + """List local users + + Displays a list of local users. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_directory_services_local_users_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str continuation_token: A token used to retrieve the next page of data with some consistency guaranteed. The token is a Base64 encoded value. Set `continuation_token` to the system-generated token taken from the `x-next-token` header field of the response. A query has reached its last page when the response does not include a token. Pagination requires the `limit` and `continuation_token` query parameters. + :param list[str] ids: Performs the operation on the unique resource IDs specified. Enter multiple resource IDs in comma-separated format. The `ids` or `names` parameter is required, but they cannot be set together. + :param list[int] uids: A comma-separated list of local user IDs (UIDs). Enter multiple local user IDs in comma-separated format. For example, `423,51234`. + :param list[str] sids: Performs the operation on the object SID specified. Enter multiple SIDs in comma-separated format. For example, `S-1-2-532-582374278-329482934,S-1-2-532-234235245-423425234`. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: LocalUserGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if ids is not None: + if not isinstance(ids, list): + ids = [ids] + if uids is not None: + if not isinstance(uids, list): + uids = [uids] + if sids is not None: + if not isinstance(sids, list): + sids = [sids] + if names is not None: + if not isinstance(names, list): + names = [names] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_directory_services_local_users_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_directory_services_local_users_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'continuation_token' in params: + query_params.append(('continuation_token', params['continuation_token'])) + if 'ids' in params: + query_params.append(('ids', params['ids'])) + collection_formats['ids'] = 'csv' + if 'uids' in params: + query_params.append(('uids', params['uids'])) + collection_formats['uids'] = 'csv' + if 'sids' in params: + query_params.append(('sids', params['sids'])) + collection_formats['sids'] = 'csv' + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/directory-services/local/users', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='LocalUserGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_directory_services_local_users_members_delete_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + group_names=None, # type: List[str] + group_sids=None, # type: List[str] + group_gids=None, # type: List[int] + member_names=None, # type: List[str] + member_sids=None, # type: List[str] + member_ids=None, # type: List[int] + member_types=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """Delete local user membership + + Deletes one or more local user memberships. The `member_names`, `member_sids`, or `member_ids` parameter is required, but cannot be set together. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_directory_services_local_users_members_delete_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] group_names: Performs the operation on the group names specified. Enter multiple group names in comma-separated format. For example, `group1,group2`. + :param list[str] group_sids: Performs the operation on the specified group SID. Enter multiple group SIDs in comma-separated format. For example, `S-1-2-532-582374278-329482934,S-1-2-532-234235245-423425234`. + :param list[int] group_gids: Performs the operation on the specified GIDs. Enter multiple GIDs in comma-separated format. For example, `4234235,9681923`. + :param list[str] member_names: Performs the operation on the unique member name specified. Examples of members include volumes, hosts, host groups, and directories. Enter multiple names in comma-separated format. For example, `vol01,vol02`. + :param list[str] member_sids: Performs the operation on the specified member SID. Enter multiple member SIDs in comma-separated format. For example, `S-1-2-532-582374278-329482934,S-1-2-532-234235245-423425234`. + :param list[int] member_ids: Performs the operation on the unique local member IDs specified. Enter multiple member IDs in comma-separated format. For local group IDs refer to group IDs (GID). For local user IDs refer to user IDs (UID). The `member_ids` and `member_names` parameters cannot be provided together. + :param list[str] member_types: Performs the operation on the member types specified. The type of member is the full name of the resource endpoint. Valid values include `directories`. Enter multiple member types in comma-separated format. For example, `type01,type02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: None + If the method is called asynchronously, + returns the request thread. + """ + if group_names is not None: + if not isinstance(group_names, list): + group_names = [group_names] + if group_sids is not None: + if not isinstance(group_sids, list): + group_sids = [group_sids] + if group_gids is not None: + if not isinstance(group_gids, list): + group_gids = [group_gids] + if member_names is not None: + if not isinstance(member_names, list): + member_names = [member_names] + if member_sids is not None: + if not isinstance(member_sids, list): + member_sids = [member_sids] + if member_ids is not None: + if not isinstance(member_ids, list): + member_ids = [member_ids] + if member_types is not None: + if not isinstance(member_types, list): + member_types = [member_types] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + collection_formats = {} + path_params = {} + + query_params = [] + if 'group_names' in params: + query_params.append(('group_names', params['group_names'])) + collection_formats['group_names'] = 'csv' + if 'group_sids' in params: + query_params.append(('group_sids', params['group_sids'])) + collection_formats['group_sids'] = 'csv' + if 'group_gids' in params: + query_params.append(('group_gids', params['group_gids'])) + collection_formats['group_gids'] = 'csv' + if 'member_names' in params: + query_params.append(('member_names', params['member_names'])) + collection_formats['member_names'] = 'csv' + if 'member_sids' in params: + query_params.append(('member_sids', params['member_sids'])) + collection_formats['member_sids'] = 'csv' + if 'member_ids' in params: + query_params.append(('member_ids', params['member_ids'])) + collection_formats['member_ids'] = 'csv' + if 'member_types' in params: + query_params.append(('member_types', params['member_types'])) + collection_formats['member_types'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/directory-services/local/users/members', 'DELETE', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type=None, + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_directory_services_local_users_members_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + group_names=None, # type: List[str] + group_sids=None, # type: List[str] + group_gids=None, # type: List[int] + member_names=None, # type: List[str] + member_sids=None, # type: List[str] + member_ids=None, # type: List[int] + filter=None, # type: str + limit=None, # type: int + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.LocalMembershipGetResponse + """List local user memberships + + Displays a list of local user memberships. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_directory_services_local_users_members_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str continuation_token: A token used to retrieve the next page of data with some consistency guaranteed. The token is a Base64 encoded value. Set `continuation_token` to the system-generated token taken from the `x-next-token` header field of the response. A query has reached its last page when the response does not include a token. Pagination requires the `limit` and `continuation_token` query parameters. + :param list[str] group_names: Performs the operation on the group names specified. Enter multiple group names in comma-separated format. For example, `group1,group2`. + :param list[str] group_sids: Performs the operation on the specified group SID. Enter multiple group SIDs in comma-separated format. For example, `S-1-2-532-582374278-329482934,S-1-2-532-234235245-423425234`. + :param list[int] group_gids: Performs the operation on the specified GIDs. Enter multiple GIDs in comma-separated format. For example, `4234235,9681923`. + :param list[str] member_names: Performs the operation on the unique member name specified. Examples of members include volumes, hosts, host groups, and directories. Enter multiple names in comma-separated format. For example, `vol01,vol02`. + :param list[str] member_sids: Performs the operation on the specified member SID. Enter multiple member SIDs in comma-separated format. For example, `S-1-2-532-582374278-329482934,S-1-2-532-234235245-423425234`. + :param list[int] member_ids: Performs the operation on the unique local member IDs specified. Enter multiple member IDs in comma-separated format. For local group IDs refer to group IDs (GID). For local user IDs refer to user IDs (UID). The `member_ids` and `member_names` parameters cannot be provided together. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: LocalMembershipGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if group_names is not None: + if not isinstance(group_names, list): + group_names = [group_names] + if group_sids is not None: + if not isinstance(group_sids, list): + group_sids = [group_sids] + if group_gids is not None: + if not isinstance(group_gids, list): + group_gids = [group_gids] + if member_names is not None: + if not isinstance(member_names, list): + member_names = [member_names] + if member_sids is not None: + if not isinstance(member_sids, list): + member_sids = [member_sids] + if member_ids is not None: + if not isinstance(member_ids, list): + member_ids = [member_ids] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_directory_services_local_users_members_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_directory_services_local_users_members_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'continuation_token' in params: + query_params.append(('continuation_token', params['continuation_token'])) + if 'group_names' in params: + query_params.append(('group_names', params['group_names'])) + collection_formats['group_names'] = 'csv' + if 'group_sids' in params: + query_params.append(('group_sids', params['group_sids'])) + collection_formats['group_sids'] = 'csv' + if 'group_gids' in params: + query_params.append(('group_gids', params['group_gids'])) + collection_formats['group_gids'] = 'csv' + if 'member_names' in params: + query_params.append(('member_names', params['member_names'])) + collection_formats['member_names'] = 'csv' + if 'member_sids' in params: + query_params.append(('member_sids', params['member_sids'])) + collection_formats['member_sids'] = 'csv' + if 'member_ids' in params: + query_params.append(('member_ids', params['member_ids'])) + collection_formats['member_ids'] = 'csv' + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/directory-services/local/users/members', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='LocalMembershipGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_directory_services_local_users_members_post_with_http_info( + self, + local_membership=None, # type: models.LocalUserMembershipPost + authorization=None, # type: str + x_request_id=None, # type: str + member_names=None, # type: List[str] + member_sids=None, # type: List[str] + member_ids=None, # type: List[int] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.LocalMembershipResponse + """Create local user membership + + Creates a local user membership with a group. The `member_names` or `member_sids` or `member_ids` parameter is required, but cannot be set together. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_directory_services_local_users_members_post_with_http_info(local_membership, async_req=True) + >>> result = thread.get() + + :param LocalUserMembershipPost local_membership: The `group_names`, `group_sids`, or `group_gids` parameter is required, but cannot be set together. (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] member_names: Performs the operation on the unique member name specified. Examples of members include volumes, hosts, host groups, and directories. Enter multiple names in comma-separated format. For example, `vol01,vol02`. + :param list[str] member_sids: Performs the operation on the specified member SID. Enter multiple member SIDs in comma-separated format. For example, `S-1-2-532-582374278-329482934,S-1-2-532-234235245-423425234`. + :param list[int] member_ids: Performs the operation on the unique local member IDs specified. Enter multiple member IDs in comma-separated format. For local group IDs refer to group IDs (GID). For local user IDs refer to user IDs (UID). The `member_ids` and `member_names` parameters cannot be provided together. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: LocalMembershipResponse + If the method is called asynchronously, + returns the request thread. + """ + if member_names is not None: + if not isinstance(member_names, list): + member_names = [member_names] + if member_sids is not None: + if not isinstance(member_sids, list): + member_sids = [member_sids] + if member_ids is not None: + if not isinstance(member_ids, list): + member_ids = [member_ids] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'local_membership' is set + if local_membership is None: + raise TypeError("Missing the required parameter `local_membership` when calling `api226_directory_services_local_users_members_post`") + + collection_formats = {} + path_params = {} + + query_params = [] + if 'member_names' in params: + query_params.append(('member_names', params['member_names'])) + collection_formats['member_names'] = 'csv' + if 'member_sids' in params: + query_params.append(('member_sids', params['member_sids'])) + collection_formats['member_sids'] = 'csv' + if 'member_ids' in params: + query_params.append(('member_ids', params['member_ids'])) + collection_formats['member_ids'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'local_membership' in params: + body_params = params['local_membership'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/directory-services/local/users/members', 'POST', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='LocalMembershipResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_directory_services_local_users_patch_with_http_info( + self, + local_user=None, # type: models.LocalUserPatch + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + keep_open_sessions=None, # type: bool + sids=None, # type: List[str] + uids=None, # type: List[int] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.LocalUserResponse + """Modify local user + + Modifies a local user. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_directory_services_local_users_patch_with_http_info(local_user, async_req=True) + >>> result = thread.get() + + :param LocalUserPatch local_user: (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param bool keep_open_sessions: If set to `true`, the session does not expire. If set to `false`, when the user is disabled or password is changed, the session expires. If not specified, defaults to `false`. + :param list[str] sids: Performs the operation on the object SID specified. Enter multiple SIDs in comma-separated format. For example, `S-1-2-532-582374278-329482934,S-1-2-532-234235245-423425234`. + :param list[int] uids: A comma-separated list of local user IDs (UIDs). Enter multiple local user IDs in comma-separated format. For example, `423,51234`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: LocalUserResponse + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + if sids is not None: + if not isinstance(sids, list): + sids = [sids] + if uids is not None: + if not isinstance(uids, list): + uids = [uids] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'local_user' is set + if local_user is None: + raise TypeError("Missing the required parameter `local_user` when calling `api226_directory_services_local_users_patch`") + + collection_formats = {} + path_params = {} + + query_params = [] + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'keep_open_sessions' in params: + query_params.append(('keep_open_sessions', params['keep_open_sessions'])) + if 'sids' in params: + query_params.append(('sids', params['sids'])) + collection_formats['sids'] = 'csv' + if 'uids' in params: + query_params.append(('uids', params['uids'])) + collection_formats['uids'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'local_user' in params: + body_params = params['local_user'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/directory-services/local/users', 'PATCH', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='LocalUserResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_directory_services_local_users_post_with_http_info( + self, + names=None, # type: List[str] + authorization=None, # type: str + x_request_id=None, # type: str + local_user=None, # type: models.LocalUserPost + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.LocalUserResponse + """Create local user + + Creates a local user. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_directory_services_local_users_post_with_http_info(names, async_req=True) + >>> result = thread.get() + + :param list[str] names: Performs the operation on the unique name specified. For example, `name01`. Enter multiple names in comma-separated format. (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param LocalUserPost local_user: + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: LocalUserResponse + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'names' is set + if names is None: + raise TypeError("Missing the required parameter `names` when calling `api226_directory_services_local_users_post`") + + collection_formats = {} + path_params = {} + + query_params = [] + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'local_user' in params: + body_params = params['local_user'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/directory-services/local/users', 'POST', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='LocalUserResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_directory_services_patch_with_http_info( + self, + names=None, # type: List[str] + directory_service=None, # type: models.DirectoryService + authorization=None, # type: str + x_request_id=None, # type: str + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.DirectoryServiceResponse + """Modify directory services configuration + + Modifies the directory service configuration. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_directory_services_patch_with_http_info(names, directory_service, async_req=True) + >>> result = thread.get() + + :param list[str] names: Performs the operation on the unique name specified. For example, `name01`. Enter multiple names in comma-separated format. (required) + :param DirectoryService directory_service: (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: DirectoryServiceResponse + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'names' is set + if names is None: + raise TypeError("Missing the required parameter `names` when calling `api226_directory_services_patch`") + # verify the required parameter 'directory_service' is set + if directory_service is None: + raise TypeError("Missing the required parameter `directory_service` when calling `api226_directory_services_patch`") + + collection_formats = {} + path_params = {} + + query_params = [] + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'directory_service' in params: + body_params = params['directory_service'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/directory-services', 'PATCH', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='DirectoryServiceResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_directory_services_roles_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + filter=None, # type: str + limit=None, # type: int + offset=None, # type: int + role_names=None, # type: List[str] + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.DirectoryServiceRoleGetResponse + """List directory services roles + + Displays the role-based access control (RBAC) group role settings. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_directory_services_roles_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str continuation_token: A token used to retrieve the next page of data with some consistency guaranteed. The token is a Base64 encoded value. Set `continuation_token` to the system-generated token taken from the `x-next-token` header field of the response. A query has reached its last page when the response does not include a token. Pagination requires the `limit` and `continuation_token` query parameters. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] role_names: Performs the operation on the unique roles specified. For example, `array_admin`. Enter multiple roles in comma-separated format. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: DirectoryServiceRoleGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if role_names is not None: + if not isinstance(role_names, list): + role_names = [role_names] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_directory_services_roles_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_directory_services_roles_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'continuation_token' in params: + query_params.append(('continuation_token', params['continuation_token'])) + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'role_names' in params: + query_params.append(('role_names', params['role_names'])) + collection_formats['role_names'] = 'csv' + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/directory-services/roles', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='DirectoryServiceRoleGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_directory_services_roles_patch_with_http_info( + self, + role_names=None, # type: List[str] + directory_service_roles=None, # type: models.DirectoryServiceRole + authorization=None, # type: str + x_request_id=None, # type: str + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.DirectoryServiceRoleResponse + """Modify directory services roles + + Modifies directory services roles, mapping them to their configured `group` and `group_base` in the directory service. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_directory_services_roles_patch_with_http_info(role_names, directory_service_roles, async_req=True) + >>> result = thread.get() + + :param list[str] role_names: Performs the operation on the unique roles specified. For example, `array_admin`. Enter multiple roles in comma-separated format. (required) + :param DirectoryServiceRole directory_service_roles: (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: DirectoryServiceRoleResponse + If the method is called asynchronously, + returns the request thread. + """ + if role_names is not None: + if not isinstance(role_names, list): + role_names = [role_names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'role_names' is set + if role_names is None: + raise TypeError("Missing the required parameter `role_names` when calling `api226_directory_services_roles_patch`") + # verify the required parameter 'directory_service_roles' is set + if directory_service_roles is None: + raise TypeError("Missing the required parameter `directory_service_roles` when calling `api226_directory_services_roles_patch`") + + collection_formats = {} + path_params = {} + + query_params = [] + if 'role_names' in params: + query_params.append(('role_names', params['role_names'])) + collection_formats['role_names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'directory_service_roles' in params: + body_params = params['directory_service_roles'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/directory-services/roles', 'PATCH', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='DirectoryServiceRoleResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_directory_services_test_get_with_http_info( + self, + names=None, # type: List[str] + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + filter=None, # type: str + limit=None, # type: int + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.TestResultWithResourceResponse + """List directory services test results + + Displays the directory services test and displays the results. The test verifies that URIs can be resolved and that the array can bind and query the tree using the bind user credentials. The test also verifies that the array can find all configured groups to ensure the common names and group base are correctly configured. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_directory_services_test_get_with_http_info(names, async_req=True) + >>> result = thread.get() + + :param list[str] names: Performs the operation on the unique name specified. For example, `name01`. Enter multiple names in comma-separated format. (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str continuation_token: A token used to retrieve the next page of data with some consistency guaranteed. The token is a Base64 encoded value. Set `continuation_token` to the system-generated token taken from the `x-next-token` header field of the response. A query has reached its last page when the response does not include a token. Pagination requires the `limit` and `continuation_token` query parameters. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: TestResultWithResourceResponse + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'names' is set + if names is None: + raise TypeError("Missing the required parameter `names` when calling `api226_directory_services_test_get`") + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_directory_services_test_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_directory_services_test_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'continuation_token' in params: + query_params.append(('continuation_token', params['continuation_token'])) + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/directory-services/test', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='TestResultWithResourceResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) diff --git a/pypureclient/flasharray/FA_2_26/api/directory_snapshots_api.py b/pypureclient/flasharray/FA_2_26/api/directory_snapshots_api.py new file mode 100644 index 000000000..6d80ca595 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/api/directory_snapshots_api.py @@ -0,0 +1,481 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +from __future__ import absolute_import + +import re + +# python 2 and python 3 compatibility library +import six +from typing import List, Optional + +from .. import models + +class DirectorySnapshotsApi(object): + + def __init__(self, api_client): + self.api_client = api_client + + def api226_directory_snapshots_delete_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + ids=None, # type: List[str] + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """Delete directory snapshot + + Deletes a directory snapshot that has been destroyed and is pending eradication. Eradicated directory snapshots cannot be recovered. Directory snapshots are destroyed by using the PATCH method. The `ids` or `names` parameter is required, but they cannot be set together. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_directory_snapshots_delete_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] ids: Performs the operation on the unique resource IDs specified. Enter multiple resource IDs in comma-separated format. The `ids` or `names` parameter is required, but they cannot be set together. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: None + If the method is called asynchronously, + returns the request thread. + """ + if ids is not None: + if not isinstance(ids, list): + ids = [ids] + if names is not None: + if not isinstance(names, list): + names = [names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + collection_formats = {} + path_params = {} + + query_params = [] + if 'ids' in params: + query_params.append(('ids', params['ids'])) + collection_formats['ids'] = 'csv' + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/directory-snapshots', 'DELETE', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type=None, + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_directory_snapshots_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + destroyed=None, # type: bool + filter=None, # type: str + ids=None, # type: List[str] + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + source_ids=None, # type: List[str] + source_names=None, # type: List[str] + total_item_count=None, # type: bool + total_only=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.DirectorySnapshotGetResponse + """List directory snapshots + + Displays a list of directory snapshots, including those pending eradication. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_directory_snapshots_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str continuation_token: A token used to retrieve the next page of data with some consistency guaranteed. The token is a Base64 encoded value. Set `continuation_token` to the system-generated token taken from the `x-next-token` header field of the response. A query has reached its last page when the response does not include a token. Pagination requires the `limit` and `continuation_token` query parameters. + :param bool destroyed: If set to `true`, lists only destroyed objects that are in the eradication pending state. If set to `false`, lists only objects that are not destroyed. For destroyed objects, the time remaining is displayed in milliseconds. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param list[str] ids: Performs the operation on the unique resource IDs specified. Enter multiple resource IDs in comma-separated format. The `ids` or `names` parameter is required, but they cannot be set together. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param list[str] source_ids: Performs the operation on the source ID specified. Enter multiple source IDs in comma-separated format. + :param list[str] source_names: Performs the operation on the source name specified. Enter multiple source names in comma-separated format. For example, `name01,name02`. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool total_only: If set to `true`, returns the aggregate value of all items after filtering. Where it makes more sense, the average value is displayed instead. The values are displayed for each name where meaningful. If `total_only=true`, the `items` list will be empty. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: DirectorySnapshotGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if ids is not None: + if not isinstance(ids, list): + ids = [ids] + if names is not None: + if not isinstance(names, list): + names = [names] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + if source_ids is not None: + if not isinstance(source_ids, list): + source_ids = [source_ids] + if source_names is not None: + if not isinstance(source_names, list): + source_names = [source_names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_directory_snapshots_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_directory_snapshots_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'continuation_token' in params: + query_params.append(('continuation_token', params['continuation_token'])) + if 'destroyed' in params: + query_params.append(('destroyed', params['destroyed'])) + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'ids' in params: + query_params.append(('ids', params['ids'])) + collection_formats['ids'] = 'csv' + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'source_ids' in params: + query_params.append(('source_ids', params['source_ids'])) + collection_formats['source_ids'] = 'csv' + if 'source_names' in params: + query_params.append(('source_names', params['source_names'])) + collection_formats['source_names'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + if 'total_only' in params: + query_params.append(('total_only', params['total_only'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/directory-snapshots', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='DirectorySnapshotGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_directory_snapshots_patch_with_http_info( + self, + directory_snapshot=None, # type: models.DirectorySnapshotPatch + authorization=None, # type: str + x_request_id=None, # type: str + ids=None, # type: List[str] + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.DirectorySnapshotResponse + """Modify directory snapshot + + Modifies a directory snapshot. You can destroy, recover, or update the policy or time remaining of a directory snapshot. To destroy a directory snapshot, set `destroyed=true`. To recover a directory snapshot that has been destroyed and is pending eradication, set `destroyed=false`. To rename a directory snapshot, set `name` to the new name. The `ids` or `names` parameter is required, but they cannot be set together. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_directory_snapshots_patch_with_http_info(directory_snapshot, async_req=True) + >>> result = thread.get() + + :param DirectorySnapshotPatch directory_snapshot: (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] ids: Performs the operation on the unique resource IDs specified. Enter multiple resource IDs in comma-separated format. The `ids` or `names` parameter is required, but they cannot be set together. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: DirectorySnapshotResponse + If the method is called asynchronously, + returns the request thread. + """ + if ids is not None: + if not isinstance(ids, list): + ids = [ids] + if names is not None: + if not isinstance(names, list): + names = [names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'directory_snapshot' is set + if directory_snapshot is None: + raise TypeError("Missing the required parameter `directory_snapshot` when calling `api226_directory_snapshots_patch`") + + collection_formats = {} + path_params = {} + + query_params = [] + if 'ids' in params: + query_params.append(('ids', params['ids'])) + collection_formats['ids'] = 'csv' + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'directory_snapshot' in params: + body_params = params['directory_snapshot'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/directory-snapshots', 'PATCH', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='DirectorySnapshotResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_directory_snapshots_post_with_http_info( + self, + directory_snapshot=None, # type: models.DirectorySnapshotPost + authorization=None, # type: str + x_request_id=None, # type: str + source_ids=None, # type: List[str] + source_names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.DirectorySnapshotResponse + """Create directory snapshot + + Creates a snapshot of the contents of a directory. The `source_ids` or `source_names` parameter is required, but they cannot be set together. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_directory_snapshots_post_with_http_info(directory_snapshot, async_req=True) + >>> result = thread.get() + + :param DirectorySnapshotPost directory_snapshot: (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] source_ids: Performs the operation on the source ID specified. Enter multiple source IDs in comma-separated format. + :param list[str] source_names: Performs the operation on the source name specified. Enter multiple source names in comma-separated format. For example, `name01,name02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: DirectorySnapshotResponse + If the method is called asynchronously, + returns the request thread. + """ + if source_ids is not None: + if not isinstance(source_ids, list): + source_ids = [source_ids] + if source_names is not None: + if not isinstance(source_names, list): + source_names = [source_names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'directory_snapshot' is set + if directory_snapshot is None: + raise TypeError("Missing the required parameter `directory_snapshot` when calling `api226_directory_snapshots_post`") + + collection_formats = {} + path_params = {} + + query_params = [] + if 'source_ids' in params: + query_params.append(('source_ids', params['source_ids'])) + collection_formats['source_ids'] = 'csv' + if 'source_names' in params: + query_params.append(('source_names', params['source_names'])) + collection_formats['source_names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'directory_snapshot' in params: + body_params = params['directory_snapshot'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/directory-snapshots', 'POST', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='DirectorySnapshotResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) diff --git a/pypureclient/flasharray/FA_2_26/api/dns_api.py b/pypureclient/flasharray/FA_2_26/api/dns_api.py new file mode 100644 index 000000000..e7ea5e519 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/api/dns_api.py @@ -0,0 +1,425 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +from __future__ import absolute_import + +import re + +# python 2 and python 3 compatibility library +import six +from typing import List, Optional + +from .. import models + +class DNSApi(object): + + def __init__(self, api_client): + self.api_client = api_client + + def api226_dns_delete_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """Delete DNS configuration + + Deletes DNS configuration identified by configuration name. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_dns_delete_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: None + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + collection_formats = {} + path_params = {} + + query_params = [] + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/dns', 'DELETE', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type=None, + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_dns_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + filter=None, # type: str + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.DnsGetResponse + """List DNS parameters + + Displays the current DNS configurations and their parameters including domain suffix, the list of DNS name server IP addresses, and the list of services that DNS parameters apply to. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_dns_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str continuation_token: A token used to retrieve the next page of data with some consistency guaranteed. The token is a Base64 encoded value. Set `continuation_token` to the system-generated token taken from the `x-next-token` header field of the response. A query has reached its last page when the response does not include a token. Pagination requires the `limit` and `continuation_token` query parameters. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: DnsGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_dns_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_dns_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'continuation_token' in params: + query_params.append(('continuation_token', params['continuation_token'])) + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/dns', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='DnsGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_dns_patch_with_http_info( + self, + dns=None, # type: models.DnsPatch + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.DnsResponse + """Modify DNS parameters + + Modifies the DNS parameters of an array, including the domain suffix, the list of DNS name server IP addresses, and the list of services that DNS parameters apply to. If there is no DNS configuration beforehand new DNS configuration with 'default' name is created. If more than one DNS configuration exists `name` has to be specified to identify the DNS configuration to be modified. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_dns_patch_with_http_info(dns, async_req=True) + >>> result = thread.get() + + :param DnsPatch dns: (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: DnsResponse + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'dns' is set + if dns is None: + raise TypeError("Missing the required parameter `dns` when calling `api226_dns_patch`") + + collection_formats = {} + path_params = {} + + query_params = [] + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'dns' in params: + body_params = params['dns'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/dns', 'PATCH', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='DnsResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_dns_post_with_http_info( + self, + dns=None, # type: models.DnsPost + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.DnsResponse + """Create DNS configuration + + Creates new DNS configuration with parameters including the domain suffix, the list of DNS name server IP addresses, and the list of services that DNS parameters apply to. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_dns_post_with_http_info(dns, async_req=True) + >>> result = thread.get() + + :param DnsPost dns: (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: DnsResponse + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'dns' is set + if dns is None: + raise TypeError("Missing the required parameter `dns` when calling `api226_dns_post`") + + collection_formats = {} + path_params = {} + + query_params = [] + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'dns' in params: + body_params = params['dns'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/dns', 'POST', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='DnsResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) diff --git a/pypureclient/flasharray/FA_2_26/api/drives_api.py b/pypureclient/flasharray/FA_2_26/api/drives_api.py new file mode 100644 index 000000000..c28742373 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/api/drives_api.py @@ -0,0 +1,231 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +from __future__ import absolute_import + +import re + +# python 2 and python 3 compatibility library +import six +from typing import List, Optional + +from .. import models + +class DrivesApi(object): + + def __init__(self, api_client): + self.api_client = api_client + + def api226_drives_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + filter=None, # type: str + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.DriveGetResponse + """List flash, NVRAM, and cache modules + + Displays a list of flash, NVRAM, and cache modules that are installed in the array along with their attributes and status. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_drives_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str continuation_token: A token used to retrieve the next page of data with some consistency guaranteed. The token is a Base64 encoded value. Set `continuation_token` to the system-generated token taken from the `x-next-token` header field of the response. A query has reached its last page when the response does not include a token. Pagination requires the `limit` and `continuation_token` query parameters. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: DriveGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_drives_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_drives_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'continuation_token' in params: + query_params.append(('continuation_token', params['continuation_token'])) + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/drives', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='DriveGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_drives_patch_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + admit=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.DriveResponse + """Modify flash and NVRAM modules + + Modifies flash and NVRAM modules that have been added or connected but not yet admitted to the array. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_drives_patch_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param bool admit: If `true`, admits any `unadmitted` drives into the system. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: DriveResponse + If the method is called asynchronously, + returns the request thread. + """ + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + collection_formats = {} + path_params = {} + + query_params = [] + if 'admit' in params: + query_params.append(('admit', params['admit'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/drives', 'PATCH', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='DriveResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) diff --git a/pypureclient/flasharray/FA_2_26/api/file_systems_api.py b/pypureclient/flasharray/FA_2_26/api/file_systems_api.py new file mode 100644 index 000000000..e5bc14218 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/api/file_systems_api.py @@ -0,0 +1,449 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +from __future__ import absolute_import + +import re + +# python 2 and python 3 compatibility library +import six +from typing import List, Optional + +from .. import models + +class FileSystemsApi(object): + + def __init__(self, api_client): + self.api_client = api_client + + def api226_file_systems_delete_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + ids=None, # type: List[str] + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """Delete file system + + Deletes a file system that has been destroyed and is pending eradication. Eradicated file systems cannot be recovered. File systems are destroyed using the PATCH method. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_file_systems_delete_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] ids: Performs the operation on the unique resource IDs specified. Enter multiple resource IDs in comma-separated format. The `ids` or `names` parameter is required, but they cannot be set together. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: None + If the method is called asynchronously, + returns the request thread. + """ + if ids is not None: + if not isinstance(ids, list): + ids = [ids] + if names is not None: + if not isinstance(names, list): + names = [names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + collection_formats = {} + path_params = {} + + query_params = [] + if 'ids' in params: + query_params.append(('ids', params['ids'])) + collection_formats['ids'] = 'csv' + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/file-systems', 'DELETE', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type=None, + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_file_systems_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + destroyed=None, # type: bool + filter=None, # type: str + ids=None, # type: List[str] + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.FileSystemGetResponse + """List file systems + + Displays a list of file systems, including those pending eradication. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_file_systems_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str continuation_token: A token used to retrieve the next page of data with some consistency guaranteed. The token is a Base64 encoded value. Set `continuation_token` to the system-generated token taken from the `x-next-token` header field of the response. A query has reached its last page when the response does not include a token. Pagination requires the `limit` and `continuation_token` query parameters. + :param bool destroyed: If set to `true`, lists only destroyed objects that are in the eradication pending state. If set to `false`, lists only objects that are not destroyed. For destroyed objects, the time remaining is displayed in milliseconds. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param list[str] ids: Performs the operation on the unique resource IDs specified. Enter multiple resource IDs in comma-separated format. The `ids` or `names` parameter is required, but they cannot be set together. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: FileSystemGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if ids is not None: + if not isinstance(ids, list): + ids = [ids] + if names is not None: + if not isinstance(names, list): + names = [names] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_file_systems_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_file_systems_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'continuation_token' in params: + query_params.append(('continuation_token', params['continuation_token'])) + if 'destroyed' in params: + query_params.append(('destroyed', params['destroyed'])) + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'ids' in params: + query_params.append(('ids', params['ids'])) + collection_formats['ids'] = 'csv' + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/file-systems', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='FileSystemGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_file_systems_patch_with_http_info( + self, + file_system=None, # type: models.FileSystemPatch + authorization=None, # type: str + x_request_id=None, # type: str + ids=None, # type: List[str] + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.FileSystemResponse + """Modify a file system + + Modifies a file system. You can rename, destroy, move, or recover a file system. To rename a file system, set `name` to the new name. To destroy a file system, set `destroyed=true`. To move a file system, set 'pod' to the destination pod reference. To recover a file system that has been destroyed and is pending eradication, set `destroyed=false`. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_file_systems_patch_with_http_info(file_system, async_req=True) + >>> result = thread.get() + + :param FileSystemPatch file_system: (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] ids: Performs the operation on the unique resource IDs specified. Enter multiple resource IDs in comma-separated format. The `ids` or `names` parameter is required, but they cannot be set together. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: FileSystemResponse + If the method is called asynchronously, + returns the request thread. + """ + if ids is not None: + if not isinstance(ids, list): + ids = [ids] + if names is not None: + if not isinstance(names, list): + names = [names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'file_system' is set + if file_system is None: + raise TypeError("Missing the required parameter `file_system` when calling `api226_file_systems_patch`") + + collection_formats = {} + path_params = {} + + query_params = [] + if 'ids' in params: + query_params.append(('ids', params['ids'])) + collection_formats['ids'] = 'csv' + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'file_system' in params: + body_params = params['file_system'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/file-systems', 'PATCH', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='FileSystemResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_file_systems_post_with_http_info( + self, + names=None, # type: List[str] + authorization=None, # type: str + x_request_id=None, # type: str + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.FileSystemResponse + """Create file system + + Creates one or more file systems. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_file_systems_post_with_http_info(names, async_req=True) + >>> result = thread.get() + + :param list[str] names: Performs the operation on the unique name specified. For example, `name01`. Enter multiple names in comma-separated format. (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: FileSystemResponse + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'names' is set + if names is None: + raise TypeError("Missing the required parameter `names` when calling `api226_file_systems_post`") + + collection_formats = {} + path_params = {} + + query_params = [] + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/file-systems', 'POST', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='FileSystemResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) diff --git a/pypureclient/flasharray/FA_2_26/api/files_api.py b/pypureclient/flasharray/FA_2_26/api/files_api.py new file mode 100644 index 000000000..ae23ae2c2 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/api/files_api.py @@ -0,0 +1,142 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +from __future__ import absolute_import + +import re + +# python 2 and python 3 compatibility library +import six +from typing import List, Optional + +from .. import models + +class FilesApi(object): + + def __init__(self, api_client): + self.api_client = api_client + + def api226_files_post_with_http_info( + self, + source_file=None, # type: models.FilePost + authorization=None, # type: str + x_request_id=None, # type: str + directory_ids=None, # type: List[str] + directory_names=None, # type: List[str] + paths=None, # type: List[str] + overwrite=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """Create a file copy + + Creates a file copy from one path to another path. The `directory_ids`, `directory_names` or `paths` value must be specified. If the `directory_ids` or `directory_names` value is not specified, the file is copied to the source directory specified in the body params. The `paths` value refers to the path of the target file relative to the target directory. If `paths` value is not specified, the file will be copied to the relative path specified in `source_path` under the target directory. The `source_path` value refers to the path of the source file relative to the source directory. To overwrite an existing file, set the `overwrite` flag to `true`. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_files_post_with_http_info(source_file, async_req=True) + >>> result = thread.get() + + :param FilePost source_file: (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] directory_ids: Performs the operation on the unique managed directory IDs specified. Enter multiple managed directory IDs in comma-separated format. The `directory_ids` or `directory_names` parameter is required, but they cannot be set together. + :param list[str] directory_names: Performs the operation on the managed directory names specified. Enter multiple full managed directory names in comma-separated format. For example, `fs:dir01,fs:dir02`. + :param list[str] paths: Target file path relative to the target directory. Enter multiple target file path in a comma-separated format. For example, `/dir1/dir2/file1,/dir3/dir4/file2`. + :param bool overwrite: If set to `true`, overwrites an existing object during an object copy operation. If set to `false` or not set at all and the target name is an existing object, the copy operation fails. Required if the `source` body parameter is set and the source overwrites an existing object during the copy operation. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: None + If the method is called asynchronously, + returns the request thread. + """ + if directory_ids is not None: + if not isinstance(directory_ids, list): + directory_ids = [directory_ids] + if directory_names is not None: + if not isinstance(directory_names, list): + directory_names = [directory_names] + if paths is not None: + if not isinstance(paths, list): + paths = [paths] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'source_file' is set + if source_file is None: + raise TypeError("Missing the required parameter `source_file` when calling `api226_files_post`") + + collection_formats = {} + path_params = {} + + query_params = [] + if 'directory_ids' in params: + query_params.append(('directory_ids', params['directory_ids'])) + collection_formats['directory_ids'] = 'csv' + if 'directory_names' in params: + query_params.append(('directory_names', params['directory_names'])) + collection_formats['directory_names'] = 'csv' + if 'paths' in params: + query_params.append(('paths', params['paths'])) + collection_formats['paths'] = 'csv' + if 'overwrite' in params: + query_params.append(('overwrite', params['overwrite'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'source_file' in params: + body_params = params['source_file'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/files', 'POST', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type=None, + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) diff --git a/pypureclient/flasharray/FA_2_26/api/hardware_api.py b/pypureclient/flasharray/FA_2_26/api/hardware_api.py new file mode 100644 index 000000000..8c5e19d93 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/api/hardware_api.py @@ -0,0 +1,238 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +from __future__ import absolute_import + +import re + +# python 2 and python 3 compatibility library +import six +from typing import List, Optional + +from .. import models + +class HardwareApi(object): + + def __init__(self, api_client): + self.api_client = api_client + + def api226_hardware_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + filter=None, # type: str + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.HardwareGetResponse + """List hardware component information + + Displays a list of hardware slots and bays and status of installed components. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_hardware_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: HardwareGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_hardware_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_hardware_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/hardware', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='HardwareGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_hardware_patch_with_http_info( + self, + hardware=None, # type: models.HardwarePatch + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.HardwareResponse + """Modify visual identification + + Modifies the visual identification of a specified hardware component, and causing the ID LED to turn on or off. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_hardware_patch_with_http_info(hardware, async_req=True) + >>> result = thread.get() + + :param HardwarePatch hardware: (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: HardwareResponse + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'hardware' is set + if hardware is None: + raise TypeError("Missing the required parameter `hardware` when calling `api226_hardware_patch`") + + collection_formats = {} + path_params = {} + + query_params = [] + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'hardware' in params: + body_params = params['hardware'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/hardware', 'PATCH', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='HardwareResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) diff --git a/pypureclient/flasharray/FA_2_26/api/host_groups_api.py b/pypureclient/flasharray/FA_2_26/api/host_groups_api.py new file mode 100644 index 000000000..561608d7e --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/api/host_groups_api.py @@ -0,0 +1,1466 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +from __future__ import absolute_import + +import re + +# python 2 and python 3 compatibility library +import six +from typing import List, Optional + +from .. import models + +class HostGroupsApi(object): + + def __init__(self, api_client): + self.api_client = api_client + + def api226_host_groups_delete_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """Delete a host group + + Deletes a host group. The `names` query parameter is required. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_host_groups_delete_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: None + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + collection_formats = {} + path_params = {} + + query_params = [] + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/host-groups', 'DELETE', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type=None, + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_host_groups_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + filter=None, # type: str + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.HostGroupGetResponse + """List host groups + + Displays a list of host groups. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_host_groups_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str continuation_token: A token used to retrieve the next page of data with some consistency guaranteed. The token is a Base64 encoded value. Set `continuation_token` to the system-generated token taken from the `x-next-token` header field of the response. A query has reached its last page when the response does not include a token. Pagination requires the `limit` and `continuation_token` query parameters. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: HostGroupGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_host_groups_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_host_groups_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'continuation_token' in params: + query_params.append(('continuation_token', params['continuation_token'])) + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/host-groups', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='HostGroupGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_host_groups_hosts_delete_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + group_names=None, # type: List[str] + member_names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """Remove a host from a host group + + Removes a host from a host group. Removing a host from a host group automatically disconnects the host from all volumes associated with the group. Hosts can be removed from host groups at any time. The `group_names` and `member_names` parameters are required and must be set together, and only one host group can be specified at a time. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_host_groups_hosts_delete_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] group_names: Performs the operation on the unique group name specified. Examples of groups include host groups, pods, protection groups, and volume groups. Enter multiple names in comma-separated format. For example, `hgroup01,hgroup02`. + :param list[str] member_names: Performs the operation on the unique member name specified. Examples of members include volumes, hosts, host groups, and directories. Enter multiple names in comma-separated format. For example, `vol01,vol02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: None + If the method is called asynchronously, + returns the request thread. + """ + if group_names is not None: + if not isinstance(group_names, list): + group_names = [group_names] + if member_names is not None: + if not isinstance(member_names, list): + member_names = [member_names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + collection_formats = {} + path_params = {} + + query_params = [] + if 'group_names' in params: + query_params.append(('group_names', params['group_names'])) + collection_formats['group_names'] = 'csv' + if 'member_names' in params: + query_params.append(('member_names', params['member_names'])) + collection_formats['member_names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/host-groups/hosts', 'DELETE', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type=None, + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_host_groups_hosts_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + filter=None, # type: str + group_names=None, # type: List[str] + limit=None, # type: int + member_names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.MemberNoIdAllGetResponse + """List host groups that are associated with hosts + + Returns a list of host groups that are associated with hosts. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_host_groups_hosts_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str continuation_token: A token used to retrieve the next page of data with some consistency guaranteed. The token is a Base64 encoded value. Set `continuation_token` to the system-generated token taken from the `x-next-token` header field of the response. A query has reached its last page when the response does not include a token. Pagination requires the `limit` and `continuation_token` query parameters. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param list[str] group_names: Performs the operation on the unique group name specified. Examples of groups include host groups, pods, protection groups, and volume groups. Enter multiple names in comma-separated format. For example, `hgroup01,hgroup02`. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param list[str] member_names: Performs the operation on the unique member name specified. Examples of members include volumes, hosts, host groups, and directories. Enter multiple names in comma-separated format. For example, `vol01,vol02`. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: MemberNoIdAllGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if group_names is not None: + if not isinstance(group_names, list): + group_names = [group_names] + if member_names is not None: + if not isinstance(member_names, list): + member_names = [member_names] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_host_groups_hosts_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_host_groups_hosts_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'continuation_token' in params: + query_params.append(('continuation_token', params['continuation_token'])) + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'group_names' in params: + query_params.append(('group_names', params['group_names'])) + collection_formats['group_names'] = 'csv' + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'member_names' in params: + query_params.append(('member_names', params['member_names'])) + collection_formats['member_names'] = 'csv' + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/host-groups/hosts', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='MemberNoIdAllGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_host_groups_hosts_post_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + group_names=None, # type: List[str] + member_names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.MemberNoIdAllResponse + """Add a host to a host group + + Adds a host to a host group. Adding a host to a host group automatically connects the host to all volumes associated with the group. Multiple hosts can be belong to a host group, but a host can only belong to one host group. Hosts can be added to host groups at any time. The `group_names` and `member_names` parameters are required and must be set together, and only one host group can be specified at a time. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_host_groups_hosts_post_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] group_names: Performs the operation on the unique group name specified. Examples of groups include host groups, pods, protection groups, and volume groups. Enter multiple names in comma-separated format. For example, `hgroup01,hgroup02`. + :param list[str] member_names: Performs the operation on the unique member name specified. Examples of members include volumes, hosts, host groups, and directories. Enter multiple names in comma-separated format. For example, `vol01,vol02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: MemberNoIdAllResponse + If the method is called asynchronously, + returns the request thread. + """ + if group_names is not None: + if not isinstance(group_names, list): + group_names = [group_names] + if member_names is not None: + if not isinstance(member_names, list): + member_names = [member_names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + collection_formats = {} + path_params = {} + + query_params = [] + if 'group_names' in params: + query_params.append(('group_names', params['group_names'])) + collection_formats['group_names'] = 'csv' + if 'member_names' in params: + query_params.append(('member_names', params['member_names'])) + collection_formats['member_names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/host-groups/hosts', 'POST', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='MemberNoIdAllResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_host_groups_patch_with_http_info( + self, + host_group=None, # type: models.HostGroupPatch + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.HostGroupResponse + """Modify a host group + + Modifies a host group. The `names` query parameter is required. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_host_groups_patch_with_http_info(host_group, async_req=True) + >>> result = thread.get() + + :param HostGroupPatch host_group: (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: HostGroupResponse + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'host_group' is set + if host_group is None: + raise TypeError("Missing the required parameter `host_group` when calling `api226_host_groups_patch`") + + collection_formats = {} + path_params = {} + + query_params = [] + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'host_group' in params: + body_params = params['host_group'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/host-groups', 'PATCH', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='HostGroupResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_host_groups_performance_by_array_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + filter=None, # type: str + end_time=None, # type: int + resolution=None, # type: int + start_time=None, # type: int + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + total_only=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.ResourcePerformanceNoIdByArrayGetResponse + """List host group performance data by array + + Displays real-time and historical performance data, real-time latency data, and average I/O size data. The data is displayed by total size across all host groups on each array and by individual host group on each array. The displayed data represents the volumes that are connected to a host group on the current array and the volumes that are connected to a host group on any remote arrays that are visible to the current array. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_host_groups_performance_by_array_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param int end_time: Displays historical performance data for the specified time window, where `start_time` is the beginning of the time window, and `end_time` is the end of the time window. The `start_time` and `end_time` parameters are specified in milliseconds since the UNIX epoch. If `start_time` is not specified, the start time will default to one resolution before the end time, meaning that the most recent sample of performance data will be displayed. If `end_time`is not specified, the end time will default to the current time. Include the `resolution` parameter to display the performance data at the specified resolution. If not specified, `resolution` defaults to the lowest valid resolution. + :param int resolution: The number of milliseconds between samples of historical data. For array-wide performance metrics (`/arrays/performance` endpoint), valid values are `1000` (1 second), `30000` (30 seconds), `300000` (5 minutes), `1800000` (30 minutes), `7200000` (2 hours), `28800000` (8 hours), and `86400000` (24 hours). For performance metrics on storage objects (`/performance` endpoint), such as volumes, valid values are `30000` (30 seconds), `300000` (5 minutes), `1800000` (30 minutes), `7200000` (2 hours), `28800000` (8 hours), and `86400000` (24 hours). For space metrics, (`/space` endpoint), valid values are `300000` (5 minutes), `1800000` (30 minutes), `7200000` (2 hours), `28800000` (8 hours), and `86400000` (24 hours). Include the `start_time` parameter to display the performance data starting at the specified start time. If `start_time` is not specified, the start time will default to one resolution before the end time, meaning that the most recent sample of performance data will be displayed. Include the `end_time` parameter to display the performance data until the specified end time. If `end_time`is not specified, the end time will default to the current time. If the `resolution` parameter is not specified but either the `start_time` or `end_time` parameter is, then `resolution` will default to the lowest valid resolution. + :param int start_time: Displays historical performance data for the specified time window, where `start_time` is the beginning of the time window, and `end_time` is the end of the time window. The `start_time` and `end_time` parameters are specified in milliseconds since the UNIX epoch. If `start_time` is not specified, the start time will default to one resolution before the end time, meaning that the most recent sample of performance data will be displayed. If `end_time`is not specified, the end time will default to the current time. Include the `resolution` parameter to display the performance data at the specified resolution. If not specified, `resolution` defaults to the lowest valid resolution. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool total_only: If set to `true`, returns the aggregate value of all items after filtering. Where it makes more sense, the average value is displayed instead. The values are displayed for each name where meaningful. If `total_only=true`, the `items` list will be empty. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: ResourcePerformanceNoIdByArrayGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'resolution' in params and params['resolution'] < 0: + raise ValueError("Invalid value for parameter `resolution` when calling `api226_host_groups_performance_by_array_get`, must be a value greater than or equal to `0`") + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_host_groups_performance_by_array_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_host_groups_performance_by_array_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'end_time' in params: + query_params.append(('end_time', params['end_time'])) + if 'resolution' in params: + query_params.append(('resolution', params['resolution'])) + if 'start_time' in params: + query_params.append(('start_time', params['start_time'])) + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + if 'total_only' in params: + query_params.append(('total_only', params['total_only'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/host-groups/performance/by-array', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='ResourcePerformanceNoIdByArrayGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_host_groups_performance_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + filter=None, # type: str + end_time=None, # type: int + resolution=None, # type: int + start_time=None, # type: int + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + total_only=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.ResourcePerformanceNoIdGetResponse + """List host group performance data + + Displays real-time and historical performance data, real-time latency data, and average I/O sizes of all host groups, displayed both by host group and by total size across all host groups. This data represents volumes that are connected to the host groups on the local array and stretched volumes connected to the host groups on arrays that are connected by synchronous replication. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_host_groups_performance_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param int end_time: Displays historical performance data for the specified time window, where `start_time` is the beginning of the time window, and `end_time` is the end of the time window. The `start_time` and `end_time` parameters are specified in milliseconds since the UNIX epoch. If `start_time` is not specified, the start time will default to one resolution before the end time, meaning that the most recent sample of performance data will be displayed. If `end_time`is not specified, the end time will default to the current time. Include the `resolution` parameter to display the performance data at the specified resolution. If not specified, `resolution` defaults to the lowest valid resolution. + :param int resolution: The number of milliseconds between samples of historical data. For array-wide performance metrics (`/arrays/performance` endpoint), valid values are `1000` (1 second), `30000` (30 seconds), `300000` (5 minutes), `1800000` (30 minutes), `7200000` (2 hours), `28800000` (8 hours), and `86400000` (24 hours). For performance metrics on storage objects (`/performance` endpoint), such as volumes, valid values are `30000` (30 seconds), `300000` (5 minutes), `1800000` (30 minutes), `7200000` (2 hours), `28800000` (8 hours), and `86400000` (24 hours). For space metrics, (`/space` endpoint), valid values are `300000` (5 minutes), `1800000` (30 minutes), `7200000` (2 hours), `28800000` (8 hours), and `86400000` (24 hours). Include the `start_time` parameter to display the performance data starting at the specified start time. If `start_time` is not specified, the start time will default to one resolution before the end time, meaning that the most recent sample of performance data will be displayed. Include the `end_time` parameter to display the performance data until the specified end time. If `end_time`is not specified, the end time will default to the current time. If the `resolution` parameter is not specified but either the `start_time` or `end_time` parameter is, then `resolution` will default to the lowest valid resolution. + :param int start_time: Displays historical performance data for the specified time window, where `start_time` is the beginning of the time window, and `end_time` is the end of the time window. The `start_time` and `end_time` parameters are specified in milliseconds since the UNIX epoch. If `start_time` is not specified, the start time will default to one resolution before the end time, meaning that the most recent sample of performance data will be displayed. If `end_time`is not specified, the end time will default to the current time. Include the `resolution` parameter to display the performance data at the specified resolution. If not specified, `resolution` defaults to the lowest valid resolution. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool total_only: If set to `true`, returns the aggregate value of all items after filtering. Where it makes more sense, the average value is displayed instead. The values are displayed for each name where meaningful. If `total_only=true`, the `items` list will be empty. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: ResourcePerformanceNoIdGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'resolution' in params and params['resolution'] < 0: + raise ValueError("Invalid value for parameter `resolution` when calling `api226_host_groups_performance_get`, must be a value greater than or equal to `0`") + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_host_groups_performance_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_host_groups_performance_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'end_time' in params: + query_params.append(('end_time', params['end_time'])) + if 'resolution' in params: + query_params.append(('resolution', params['resolution'])) + if 'start_time' in params: + query_params.append(('start_time', params['start_time'])) + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + if 'total_only' in params: + query_params.append(('total_only', params['total_only'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/host-groups/performance', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='ResourcePerformanceNoIdGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_host_groups_post_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.HostGroupResponse + """Create a host group + + Creates a host group. The `names` query parameter is required. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_host_groups_post_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: HostGroupResponse + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + collection_formats = {} + path_params = {} + + query_params = [] + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/host-groups', 'POST', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='HostGroupResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_host_groups_protection_groups_delete_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + group_ids=None, # type: List[str] + group_names=None, # type: List[str] + member_names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """Delete a host group from a protection group + + Deletes a host group member from a protection group. After the member has been removed, it is no longer protected by the group. Any protection group snapshots that were taken before the member was removed are not affected. Removing a member from a protection group does not delete the member from the array, and the member can be added back to the protection group at any time. The `group_names` parameter represents the name of the protection group, and the `member_names` parameter represents the name of the host group. The `group_names` and `member_names` parameters are required and must be set together. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_host_groups_protection_groups_delete_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] group_ids: A comma-separated list of group IDs. + :param list[str] group_names: Performs the operation on the unique group name specified. Examples of groups include host groups, pods, protection groups, and volume groups. Enter multiple names in comma-separated format. For example, `hgroup01,hgroup02`. + :param list[str] member_names: Performs the operation on the unique member name specified. Examples of members include volumes, hosts, host groups, and directories. Enter multiple names in comma-separated format. For example, `vol01,vol02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: None + If the method is called asynchronously, + returns the request thread. + """ + if group_ids is not None: + if not isinstance(group_ids, list): + group_ids = [group_ids] + if group_names is not None: + if not isinstance(group_names, list): + group_names = [group_names] + if member_names is not None: + if not isinstance(member_names, list): + member_names = [member_names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + collection_formats = {} + path_params = {} + + query_params = [] + if 'group_ids' in params: + query_params.append(('group_ids', params['group_ids'])) + collection_formats['group_ids'] = 'csv' + if 'group_names' in params: + query_params.append(('group_names', params['group_names'])) + collection_formats['group_names'] = 'csv' + if 'member_names' in params: + query_params.append(('member_names', params['member_names'])) + collection_formats['member_names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/host-groups/protection-groups', 'DELETE', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type=None, + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_host_groups_protection_groups_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + filter=None, # type: str + group_ids=None, # type: List[str] + group_names=None, # type: List[str] + limit=None, # type: int + member_names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.MemberNoIdMemberGetResponse + """List host groups that are members of protection groups + + Displays a list of host group members that belong to one or more protection groups. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_host_groups_protection_groups_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str continuation_token: A token used to retrieve the next page of data with some consistency guaranteed. The token is a Base64 encoded value. Set `continuation_token` to the system-generated token taken from the `x-next-token` header field of the response. A query has reached its last page when the response does not include a token. Pagination requires the `limit` and `continuation_token` query parameters. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param list[str] group_ids: A comma-separated list of group IDs. + :param list[str] group_names: Performs the operation on the unique group name specified. Examples of groups include host groups, pods, protection groups, and volume groups. Enter multiple names in comma-separated format. For example, `hgroup01,hgroup02`. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param list[str] member_names: Performs the operation on the unique member name specified. Examples of members include volumes, hosts, host groups, and directories. Enter multiple names in comma-separated format. For example, `vol01,vol02`. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: MemberNoIdMemberGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if group_ids is not None: + if not isinstance(group_ids, list): + group_ids = [group_ids] + if group_names is not None: + if not isinstance(group_names, list): + group_names = [group_names] + if member_names is not None: + if not isinstance(member_names, list): + member_names = [member_names] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_host_groups_protection_groups_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_host_groups_protection_groups_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'continuation_token' in params: + query_params.append(('continuation_token', params['continuation_token'])) + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'group_ids' in params: + query_params.append(('group_ids', params['group_ids'])) + collection_formats['group_ids'] = 'csv' + if 'group_names' in params: + query_params.append(('group_names', params['group_names'])) + collection_formats['group_names'] = 'csv' + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'member_names' in params: + query_params.append(('member_names', params['member_names'])) + collection_formats['member_names'] = 'csv' + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/host-groups/protection-groups', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='MemberNoIdMemberGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_host_groups_protection_groups_post_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + group_ids=None, # type: List[str] + group_names=None, # type: List[str] + member_names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.MemberNoIdMemberResponse + """Create a host group + + Creates a host group member and assigns to a protection group. Members that are already in the protection group are not affected. For asynchronous replication, only members of the same type can belong to a protection group. The `group_names` parameter represents the name of the protection group, and the `member_names` parameter represents the name of the host group. The `group_names` and `member_names` parameters are required and must be set together. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_host_groups_protection_groups_post_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] group_ids: A comma-separated list of group IDs. + :param list[str] group_names: Performs the operation on the unique group name specified. Examples of groups include host groups, pods, protection groups, and volume groups. Enter multiple names in comma-separated format. For example, `hgroup01,hgroup02`. + :param list[str] member_names: Performs the operation on the unique member name specified. Examples of members include volumes, hosts, host groups, and directories. Enter multiple names in comma-separated format. For example, `vol01,vol02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: MemberNoIdMemberResponse + If the method is called asynchronously, + returns the request thread. + """ + if group_ids is not None: + if not isinstance(group_ids, list): + group_ids = [group_ids] + if group_names is not None: + if not isinstance(group_names, list): + group_names = [group_names] + if member_names is not None: + if not isinstance(member_names, list): + member_names = [member_names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + collection_formats = {} + path_params = {} + + query_params = [] + if 'group_ids' in params: + query_params.append(('group_ids', params['group_ids'])) + collection_formats['group_ids'] = 'csv' + if 'group_names' in params: + query_params.append(('group_names', params['group_names'])) + collection_formats['group_names'] = 'csv' + if 'member_names' in params: + query_params.append(('member_names', params['member_names'])) + collection_formats['member_names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/host-groups/protection-groups', 'POST', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='MemberNoIdMemberResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_host_groups_space_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + filter=None, # type: str + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.ResourceSpaceNoIdGetResponse + """List host group space information + + Displays provisioned size and physical storage consumption data for each host group. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_host_groups_space_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: ResourceSpaceNoIdGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_host_groups_space_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_host_groups_space_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/host-groups/space', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='ResourceSpaceNoIdGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) diff --git a/pypureclient/flasharray/FA_2_26/api/hosts_api.py b/pypureclient/flasharray/FA_2_26/api/hosts_api.py new file mode 100644 index 000000000..e0ce8ceda --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/api/hosts_api.py @@ -0,0 +1,1589 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +from __future__ import absolute_import + +import re + +# python 2 and python 3 compatibility library +import six +from typing import List, Optional + +from .. import models + +class HostsApi(object): + + def __init__(self, api_client): + self.api_client = api_client + + def api226_hosts_delete_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """Delete a host + + Deletes an existing host. All volumes that are connected to the host, either through private or shared connections, must be disconnected from the host before the host can be deleted. The `names` query parameter is required. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_hosts_delete_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: None + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + collection_formats = {} + path_params = {} + + query_params = [] + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/hosts', 'DELETE', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type=None, + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_hosts_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + filter=None, # type: str + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.HostGetResponse + """List hosts + + Displays a list of hosts. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_hosts_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str continuation_token: A token used to retrieve the next page of data with some consistency guaranteed. The token is a Base64 encoded value. Set `continuation_token` to the system-generated token taken from the `x-next-token` header field of the response. A query has reached its last page when the response does not include a token. Pagination requires the `limit` and `continuation_token` query parameters. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: HostGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_hosts_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_hosts_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'continuation_token' in params: + query_params.append(('continuation_token', params['continuation_token'])) + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/hosts', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='HostGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_hosts_host_groups_delete_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + group_names=None, # type: List[str] + member_names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """Remove a host from a host group + + Removes a host from a host group. Removing a host from a host group automatically disconnects the host from all volumes associated with the group. Hosts can be removed from host groups at any time. The `group_names` and `member_names` parameters are required and must be set together, and only one host group can be specified at a time. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_hosts_host_groups_delete_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] group_names: Performs the operation on the unique group name specified. Examples of groups include host groups, pods, protection groups, and volume groups. Enter multiple names in comma-separated format. For example, `hgroup01,hgroup02`. + :param list[str] member_names: Performs the operation on the unique member name specified. Examples of members include volumes, hosts, host groups, and directories. Enter multiple names in comma-separated format. For example, `vol01,vol02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: None + If the method is called asynchronously, + returns the request thread. + """ + if group_names is not None: + if not isinstance(group_names, list): + group_names = [group_names] + if member_names is not None: + if not isinstance(member_names, list): + member_names = [member_names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + collection_formats = {} + path_params = {} + + query_params = [] + if 'group_names' in params: + query_params.append(('group_names', params['group_names'])) + collection_formats['group_names'] = 'csv' + if 'member_names' in params: + query_params.append(('member_names', params['member_names'])) + collection_formats['member_names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/hosts/host-groups', 'DELETE', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type=None, + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_hosts_host_groups_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + filter=None, # type: str + group_names=None, # type: List[str] + limit=None, # type: int + member_names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.MemberNoIdAllGetResponse + """List hosts that are associated with host groups + + Returns a list of hosts that are associated with host groups. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_hosts_host_groups_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str continuation_token: A token used to retrieve the next page of data with some consistency guaranteed. The token is a Base64 encoded value. Set `continuation_token` to the system-generated token taken from the `x-next-token` header field of the response. A query has reached its last page when the response does not include a token. Pagination requires the `limit` and `continuation_token` query parameters. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param list[str] group_names: Performs the operation on the unique group name specified. Examples of groups include host groups, pods, protection groups, and volume groups. Enter multiple names in comma-separated format. For example, `hgroup01,hgroup02`. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param list[str] member_names: Performs the operation on the unique member name specified. Examples of members include volumes, hosts, host groups, and directories. Enter multiple names in comma-separated format. For example, `vol01,vol02`. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: MemberNoIdAllGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if group_names is not None: + if not isinstance(group_names, list): + group_names = [group_names] + if member_names is not None: + if not isinstance(member_names, list): + member_names = [member_names] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_hosts_host_groups_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_hosts_host_groups_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'continuation_token' in params: + query_params.append(('continuation_token', params['continuation_token'])) + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'group_names' in params: + query_params.append(('group_names', params['group_names'])) + collection_formats['group_names'] = 'csv' + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'member_names' in params: + query_params.append(('member_names', params['member_names'])) + collection_formats['member_names'] = 'csv' + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/hosts/host-groups', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='MemberNoIdAllGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_hosts_host_groups_post_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + group_names=None, # type: List[str] + member_names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.MemberNoIdAllResponse + """Add a host to a host group + + Adds a host to a host group. Adding a host to a host group automatically connects the host to all volumes associated with the group. Multiple hosts can be belong to a host group, but a host can only belong to one host group. Hosts can be added to host groups at any time. The `group_names` and `member_names` parameters are required and must be set together, and only one host group can be specified at a time. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_hosts_host_groups_post_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] group_names: Performs the operation on the unique group name specified. Examples of groups include host groups, pods, protection groups, and volume groups. Enter multiple names in comma-separated format. For example, `hgroup01,hgroup02`. + :param list[str] member_names: Performs the operation on the unique member name specified. Examples of members include volumes, hosts, host groups, and directories. Enter multiple names in comma-separated format. For example, `vol01,vol02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: MemberNoIdAllResponse + If the method is called asynchronously, + returns the request thread. + """ + if group_names is not None: + if not isinstance(group_names, list): + group_names = [group_names] + if member_names is not None: + if not isinstance(member_names, list): + member_names = [member_names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + collection_formats = {} + path_params = {} + + query_params = [] + if 'group_names' in params: + query_params.append(('group_names', params['group_names'])) + collection_formats['group_names'] = 'csv' + if 'member_names' in params: + query_params.append(('member_names', params['member_names'])) + collection_formats['member_names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/hosts/host-groups', 'POST', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='MemberNoIdAllResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_hosts_patch_with_http_info( + self, + host=None, # type: models.HostPatch + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.HostResponse + """Modify a host + + Modifies an existing host, including its storage network addresses, CHAP, host personality, and preferred arrays, or associate a host to a host group. The `names` query parameter is required. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_hosts_patch_with_http_info(host, async_req=True) + >>> result = thread.get() + + :param HostPatch host: (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: HostResponse + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'host' is set + if host is None: + raise TypeError("Missing the required parameter `host` when calling `api226_hosts_patch`") + + collection_formats = {} + path_params = {} + + query_params = [] + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'host' in params: + body_params = params['host'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/hosts', 'PATCH', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='HostResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_hosts_performance_balance_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + filter=None, # type: str + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.HostPerformanceBalanceGetResponse + """List host performance balance + + Displays the I/O balance statistics for host paths. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_hosts_performance_balance_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: HostPerformanceBalanceGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_hosts_performance_balance_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_hosts_performance_balance_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/hosts/performance/balance', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='HostPerformanceBalanceGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_hosts_performance_by_array_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + filter=None, # type: str + end_time=None, # type: int + resolution=None, # type: int + start_time=None, # type: int + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + total_only=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.ResourcePerformanceNoIdByArrayGetResponse + """List host performance data by array + + Displays real-time and historical performance data, real-time latency data, and average I/O size data. The data is displayed by total size across all hosts on each array and by individual host on each array. The displayed data represents the volumes that are connected to a host on the current array and the volumes that are connected to a host on any remote arrays that are visible to the current array. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_hosts_performance_by_array_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param int end_time: Displays historical performance data for the specified time window, where `start_time` is the beginning of the time window, and `end_time` is the end of the time window. The `start_time` and `end_time` parameters are specified in milliseconds since the UNIX epoch. If `start_time` is not specified, the start time will default to one resolution before the end time, meaning that the most recent sample of performance data will be displayed. If `end_time`is not specified, the end time will default to the current time. Include the `resolution` parameter to display the performance data at the specified resolution. If not specified, `resolution` defaults to the lowest valid resolution. + :param int resolution: The number of milliseconds between samples of historical data. For array-wide performance metrics (`/arrays/performance` endpoint), valid values are `1000` (1 second), `30000` (30 seconds), `300000` (5 minutes), `1800000` (30 minutes), `7200000` (2 hours), `28800000` (8 hours), and `86400000` (24 hours). For performance metrics on storage objects (`/performance` endpoint), such as volumes, valid values are `30000` (30 seconds), `300000` (5 minutes), `1800000` (30 minutes), `7200000` (2 hours), `28800000` (8 hours), and `86400000` (24 hours). For space metrics, (`/space` endpoint), valid values are `300000` (5 minutes), `1800000` (30 minutes), `7200000` (2 hours), `28800000` (8 hours), and `86400000` (24 hours). Include the `start_time` parameter to display the performance data starting at the specified start time. If `start_time` is not specified, the start time will default to one resolution before the end time, meaning that the most recent sample of performance data will be displayed. Include the `end_time` parameter to display the performance data until the specified end time. If `end_time`is not specified, the end time will default to the current time. If the `resolution` parameter is not specified but either the `start_time` or `end_time` parameter is, then `resolution` will default to the lowest valid resolution. + :param int start_time: Displays historical performance data for the specified time window, where `start_time` is the beginning of the time window, and `end_time` is the end of the time window. The `start_time` and `end_time` parameters are specified in milliseconds since the UNIX epoch. If `start_time` is not specified, the start time will default to one resolution before the end time, meaning that the most recent sample of performance data will be displayed. If `end_time`is not specified, the end time will default to the current time. Include the `resolution` parameter to display the performance data at the specified resolution. If not specified, `resolution` defaults to the lowest valid resolution. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool total_only: If set to `true`, returns the aggregate value of all items after filtering. Where it makes more sense, the average value is displayed instead. The values are displayed for each name where meaningful. If `total_only=true`, the `items` list will be empty. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: ResourcePerformanceNoIdByArrayGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'resolution' in params and params['resolution'] < 0: + raise ValueError("Invalid value for parameter `resolution` when calling `api226_hosts_performance_by_array_get`, must be a value greater than or equal to `0`") + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_hosts_performance_by_array_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_hosts_performance_by_array_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'end_time' in params: + query_params.append(('end_time', params['end_time'])) + if 'resolution' in params: + query_params.append(('resolution', params['resolution'])) + if 'start_time' in params: + query_params.append(('start_time', params['start_time'])) + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + if 'total_only' in params: + query_params.append(('total_only', params['total_only'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/hosts/performance/by-array', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='ResourcePerformanceNoIdByArrayGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_hosts_performance_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + filter=None, # type: str + end_time=None, # type: int + resolution=None, # type: int + start_time=None, # type: int + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + total_only=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.ResourcePerformanceNoIdGetResponse + """List host performance data + + Displays real-time and historical performance data, real-time latency data, and average I/O sizes across all hosts, displayed by host and by total size across all hosts. This data represents volumes that are connected to the hosts on the local array and stretched volumes connected to the hosts on any arrays that are connected by synchronous replication. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_hosts_performance_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param int end_time: Displays historical performance data for the specified time window, where `start_time` is the beginning of the time window, and `end_time` is the end of the time window. The `start_time` and `end_time` parameters are specified in milliseconds since the UNIX epoch. If `start_time` is not specified, the start time will default to one resolution before the end time, meaning that the most recent sample of performance data will be displayed. If `end_time`is not specified, the end time will default to the current time. Include the `resolution` parameter to display the performance data at the specified resolution. If not specified, `resolution` defaults to the lowest valid resolution. + :param int resolution: The number of milliseconds between samples of historical data. For array-wide performance metrics (`/arrays/performance` endpoint), valid values are `1000` (1 second), `30000` (30 seconds), `300000` (5 minutes), `1800000` (30 minutes), `7200000` (2 hours), `28800000` (8 hours), and `86400000` (24 hours). For performance metrics on storage objects (`/performance` endpoint), such as volumes, valid values are `30000` (30 seconds), `300000` (5 minutes), `1800000` (30 minutes), `7200000` (2 hours), `28800000` (8 hours), and `86400000` (24 hours). For space metrics, (`/space` endpoint), valid values are `300000` (5 minutes), `1800000` (30 minutes), `7200000` (2 hours), `28800000` (8 hours), and `86400000` (24 hours). Include the `start_time` parameter to display the performance data starting at the specified start time. If `start_time` is not specified, the start time will default to one resolution before the end time, meaning that the most recent sample of performance data will be displayed. Include the `end_time` parameter to display the performance data until the specified end time. If `end_time`is not specified, the end time will default to the current time. If the `resolution` parameter is not specified but either the `start_time` or `end_time` parameter is, then `resolution` will default to the lowest valid resolution. + :param int start_time: Displays historical performance data for the specified time window, where `start_time` is the beginning of the time window, and `end_time` is the end of the time window. The `start_time` and `end_time` parameters are specified in milliseconds since the UNIX epoch. If `start_time` is not specified, the start time will default to one resolution before the end time, meaning that the most recent sample of performance data will be displayed. If `end_time`is not specified, the end time will default to the current time. Include the `resolution` parameter to display the performance data at the specified resolution. If not specified, `resolution` defaults to the lowest valid resolution. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool total_only: If set to `true`, returns the aggregate value of all items after filtering. Where it makes more sense, the average value is displayed instead. The values are displayed for each name where meaningful. If `total_only=true`, the `items` list will be empty. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: ResourcePerformanceNoIdGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'resolution' in params and params['resolution'] < 0: + raise ValueError("Invalid value for parameter `resolution` when calling `api226_hosts_performance_get`, must be a value greater than or equal to `0`") + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_hosts_performance_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_hosts_performance_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'end_time' in params: + query_params.append(('end_time', params['end_time'])) + if 'resolution' in params: + query_params.append(('resolution', params['resolution'])) + if 'start_time' in params: + query_params.append(('start_time', params['start_time'])) + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + if 'total_only' in params: + query_params.append(('total_only', params['total_only'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/hosts/performance', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='ResourcePerformanceNoIdGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_hosts_post_with_http_info( + self, + host=None, # type: models.HostPost + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.HostResponse + """Create a host + + Creates a host. The `names` query parameter is required. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_hosts_post_with_http_info(host, async_req=True) + >>> result = thread.get() + + :param HostPost host: (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: HostResponse + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'host' is set + if host is None: + raise TypeError("Missing the required parameter `host` when calling `api226_hosts_post`") + + collection_formats = {} + path_params = {} + + query_params = [] + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'host' in params: + body_params = params['host'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/hosts', 'POST', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='HostResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_hosts_protection_groups_delete_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + group_ids=None, # type: List[str] + group_names=None, # type: List[str] + member_names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """Delete a host from a protection group + + Deletes a host member from a protection group. After the member has been removed, it is no longer protected by the group. Any protection group snapshots that were taken before the member was removed are not affected. Removing a member from a protection group does not delete the member from the array, and the member can be added back to the protection group at any time. The `group_names` parameter represents the name of the protection group, and the `member_names` parameter represents the name of the host. The `group_names` and `member_names` parameters are required and must be set together. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_hosts_protection_groups_delete_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] group_ids: A comma-separated list of group IDs. + :param list[str] group_names: Performs the operation on the unique group name specified. Examples of groups include host groups, pods, protection groups, and volume groups. Enter multiple names in comma-separated format. For example, `hgroup01,hgroup02`. + :param list[str] member_names: Performs the operation on the unique member name specified. Examples of members include volumes, hosts, host groups, and directories. Enter multiple names in comma-separated format. For example, `vol01,vol02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: None + If the method is called asynchronously, + returns the request thread. + """ + if group_ids is not None: + if not isinstance(group_ids, list): + group_ids = [group_ids] + if group_names is not None: + if not isinstance(group_names, list): + group_names = [group_names] + if member_names is not None: + if not isinstance(member_names, list): + member_names = [member_names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + collection_formats = {} + path_params = {} + + query_params = [] + if 'group_ids' in params: + query_params.append(('group_ids', params['group_ids'])) + collection_formats['group_ids'] = 'csv' + if 'group_names' in params: + query_params.append(('group_names', params['group_names'])) + collection_formats['group_names'] = 'csv' + if 'member_names' in params: + query_params.append(('member_names', params['member_names'])) + collection_formats['member_names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/hosts/protection-groups', 'DELETE', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type=None, + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_hosts_protection_groups_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + filter=None, # type: str + group_ids=None, # type: List[str] + group_names=None, # type: List[str] + limit=None, # type: int + member_names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.MemberNoIdMemberGetResponse + """List hosts that are members of protection groups + + Displays a list of host members that belong to one or more protection groups. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_hosts_protection_groups_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str continuation_token: A token used to retrieve the next page of data with some consistency guaranteed. The token is a Base64 encoded value. Set `continuation_token` to the system-generated token taken from the `x-next-token` header field of the response. A query has reached its last page when the response does not include a token. Pagination requires the `limit` and `continuation_token` query parameters. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param list[str] group_ids: A comma-separated list of group IDs. + :param list[str] group_names: Performs the operation on the unique group name specified. Examples of groups include host groups, pods, protection groups, and volume groups. Enter multiple names in comma-separated format. For example, `hgroup01,hgroup02`. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param list[str] member_names: Performs the operation on the unique member name specified. Examples of members include volumes, hosts, host groups, and directories. Enter multiple names in comma-separated format. For example, `vol01,vol02`. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: MemberNoIdMemberGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if group_ids is not None: + if not isinstance(group_ids, list): + group_ids = [group_ids] + if group_names is not None: + if not isinstance(group_names, list): + group_names = [group_names] + if member_names is not None: + if not isinstance(member_names, list): + member_names = [member_names] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_hosts_protection_groups_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_hosts_protection_groups_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'continuation_token' in params: + query_params.append(('continuation_token', params['continuation_token'])) + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'group_ids' in params: + query_params.append(('group_ids', params['group_ids'])) + collection_formats['group_ids'] = 'csv' + if 'group_names' in params: + query_params.append(('group_names', params['group_names'])) + collection_formats['group_names'] = 'csv' + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'member_names' in params: + query_params.append(('member_names', params['member_names'])) + collection_formats['member_names'] = 'csv' + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/hosts/protection-groups', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='MemberNoIdMemberGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_hosts_protection_groups_post_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + group_ids=None, # type: List[str] + group_names=None, # type: List[str] + member_names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.MemberNoIdMemberResponse + """Create a host + + Creates a host member and adds it to a protection group. Members that are already in the protection group are not affected. For asynchronous replication, only members of the same type can belong to a protection group. The `group_names` parameter represents the name of the protection group, and the `member_names` parameter represents the name of the host. The `group_names` and `member_names` parameters are required and must be set together. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_hosts_protection_groups_post_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] group_ids: A comma-separated list of group IDs. + :param list[str] group_names: Performs the operation on the unique group name specified. Examples of groups include host groups, pods, protection groups, and volume groups. Enter multiple names in comma-separated format. For example, `hgroup01,hgroup02`. + :param list[str] member_names: Performs the operation on the unique member name specified. Examples of members include volumes, hosts, host groups, and directories. Enter multiple names in comma-separated format. For example, `vol01,vol02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: MemberNoIdMemberResponse + If the method is called asynchronously, + returns the request thread. + """ + if group_ids is not None: + if not isinstance(group_ids, list): + group_ids = [group_ids] + if group_names is not None: + if not isinstance(group_names, list): + group_names = [group_names] + if member_names is not None: + if not isinstance(member_names, list): + member_names = [member_names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + collection_formats = {} + path_params = {} + + query_params = [] + if 'group_ids' in params: + query_params.append(('group_ids', params['group_ids'])) + collection_formats['group_ids'] = 'csv' + if 'group_names' in params: + query_params.append(('group_names', params['group_names'])) + collection_formats['group_names'] = 'csv' + if 'member_names' in params: + query_params.append(('member_names', params['member_names'])) + collection_formats['member_names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/hosts/protection-groups', 'POST', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='MemberNoIdMemberResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_hosts_space_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + filter=None, # type: str + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.ResourceSpaceNoIdGetResponse + """List host space information + + Displays provisioned size and physical storage consumption data for each host. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_hosts_space_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: ResourceSpaceNoIdGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_hosts_space_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_hosts_space_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/hosts/space', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='ResourceSpaceNoIdGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) diff --git a/pypureclient/flasharray/FA_2_26/api/kmip_api.py b/pypureclient/flasharray/FA_2_26/api/kmip_api.py new file mode 100644 index 000000000..d549f3720 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/api/kmip_api.py @@ -0,0 +1,516 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +from __future__ import absolute_import + +import re + +# python 2 and python 3 compatibility library +import six +from typing import List, Optional + +from .. import models + +class KMIPApi(object): + + def __init__(self, api_client): + self.api_client = api_client + + def api226_kmip_delete_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """Delete KMIP server object + + Deletes KMIP server objects. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_kmip_delete_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: None + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + collection_formats = {} + path_params = {} + + query_params = [] + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/kmip', 'DELETE', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type=None, + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_kmip_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + filter=None, # type: str + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.KmipGetResponse + """List KMIP server objects + + Displays the list of KMIP server objects. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_kmip_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str continuation_token: A token used to retrieve the next page of data with some consistency guaranteed. The token is a Base64 encoded value. Set `continuation_token` to the system-generated token taken from the `x-next-token` header field of the response. A query has reached its last page when the response does not include a token. Pagination requires the `limit` and `continuation_token` query parameters. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: KmipGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_kmip_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_kmip_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'continuation_token' in params: + query_params.append(('continuation_token', params['continuation_token'])) + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/kmip', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='KmipGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_kmip_patch_with_http_info( + self, + kmip=None, # type: models.KmipPatch + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.KmipResponse + """Modify KMIP attributes + + Modifies one or more attributes of KMIP server objects. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_kmip_patch_with_http_info(kmip, async_req=True) + >>> result = thread.get() + + :param KmipPatch kmip: (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: KmipResponse + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'kmip' is set + if kmip is None: + raise TypeError("Missing the required parameter `kmip` when calling `api226_kmip_patch`") + + collection_formats = {} + path_params = {} + + query_params = [] + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'kmip' in params: + body_params = params['kmip'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/kmip', 'PATCH', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='KmipResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_kmip_post_with_http_info( + self, + kmip=None, # type: models.KmipPost + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.KmipResponse + """Create KMIP server object + + Creates KMIP server objects. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_kmip_post_with_http_info(kmip, async_req=True) + >>> result = thread.get() + + :param KmipPost kmip: (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: KmipResponse + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'kmip' is set + if kmip is None: + raise TypeError("Missing the required parameter `kmip` when calling `api226_kmip_post`") + + collection_formats = {} + path_params = {} + + query_params = [] + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'kmip' in params: + body_params = params['kmip'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/kmip', 'POST', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='KmipResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_kmip_test_get_with_http_info( + self, + names=None, # type: List[str] + authorization=None, # type: str + x_request_id=None, # type: str + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.KmipTestResultGetResponse + """Lists KMIP connection tests + + Displays communication data between a FlashArray and KMIP server. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_kmip_test_get_with_http_info(names, async_req=True) + >>> result = thread.get() + + :param list[str] names: Performs the operation on the unique name specified. For example, `name01`. Enter multiple names in comma-separated format. (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: KmipTestResultGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'names' is set + if names is None: + raise TypeError("Missing the required parameter `names` when calling `api226_kmip_test_get`") + + collection_formats = {} + path_params = {} + + query_params = [] + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/kmip/test', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='KmipTestResultGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) diff --git a/pypureclient/flasharray/FA_2_26/api/maintenance_windows_api.py b/pypureclient/flasharray/FA_2_26/api/maintenance_windows_api.py new file mode 100644 index 000000000..83d1bb9aa --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/api/maintenance_windows_api.py @@ -0,0 +1,330 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +from __future__ import absolute_import + +import re + +# python 2 and python 3 compatibility library +import six +from typing import List, Optional + +from .. import models + +class MaintenanceWindowsApi(object): + + def __init__(self, api_client): + self.api_client = api_client + + def api226_maintenance_windows_delete_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """Delete maintenance window + + Deletes an open maintenance window before its scheduled end (`expire`) time. The `names` parameter is required and must be set to `environment`. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_maintenance_windows_delete_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: None + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + collection_formats = {} + path_params = {} + + query_params = [] + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/maintenance-windows', 'DELETE', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type=None, + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_maintenance_windows_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + filter=None, # type: str + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.MaintenanceWindowsGetResponse + """List maintenance window details + + Displays maintenance window details, including start time, end time, and maintenance type. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_maintenance_windows_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str continuation_token: A token used to retrieve the next page of data with some consistency guaranteed. The token is a Base64 encoded value. Set `continuation_token` to the system-generated token taken from the `x-next-token` header field of the response. A query has reached its last page when the response does not include a token. Pagination requires the `limit` and `continuation_token` query parameters. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: MaintenanceWindowsGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_maintenance_windows_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_maintenance_windows_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'continuation_token' in params: + query_params.append(('continuation_token', params['continuation_token'])) + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/maintenance-windows', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='MaintenanceWindowsGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_maintenance_windows_post_with_http_info( + self, + maintenance_window=None, # type: models.MaintenanceWindowPost + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.MaintenanceWindowsResponse + """Create a maintenance window + + Creates a maintenance window that suppresses alerts for a specified period of time. A maintenance window can be manually closed at any time. The `names` and `timeout` parameters are required. Set the `names` parameter to `environment`. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_maintenance_windows_post_with_http_info(maintenance_window, async_req=True) + >>> result = thread.get() + + :param MaintenanceWindowPost maintenance_window: (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: MaintenanceWindowsResponse + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'maintenance_window' is set + if maintenance_window is None: + raise TypeError("Missing the required parameter `maintenance_window` when calling `api226_maintenance_windows_post`") + + collection_formats = {} + path_params = {} + + query_params = [] + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'maintenance_window' in params: + body_params = params['maintenance_window'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/maintenance-windows', 'POST', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='MaintenanceWindowsResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) diff --git a/pypureclient/flasharray/FA_2_26/api/network_interfaces_api.py b/pypureclient/flasharray/FA_2_26/api/network_interfaces_api.py new file mode 100644 index 000000000..759bc3960 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/api/network_interfaces_api.py @@ -0,0 +1,785 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +from __future__ import absolute_import + +import re + +# python 2 and python 3 compatibility library +import six +from typing import List, Optional + +from .. import models + +class NetworkInterfacesApi(object): + + def __init__(self, api_client): + self.api_client = api_client + + def api226_network_interfaces_delete_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """Delete network interface + + Deletes a network interface on a controller. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_network_interfaces_delete_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: None + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + collection_formats = {} + path_params = {} + + query_params = [] + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/network-interfaces', 'DELETE', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type=None, + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_network_interfaces_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + filter=None, # type: str + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.NetworkInterfaceGetResponse + """List network interfaces + + Displays all network interfaces for all controllers on the array. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_network_interfaces_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str continuation_token: A token used to retrieve the next page of data with some consistency guaranteed. The token is a Base64 encoded value. Set `continuation_token` to the system-generated token taken from the `x-next-token` header field of the response. A query has reached its last page when the response does not include a token. Pagination requires the `limit` and `continuation_token` query parameters. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: NetworkInterfaceGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_network_interfaces_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_network_interfaces_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'continuation_token' in params: + query_params.append(('continuation_token', params['continuation_token'])) + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/network-interfaces', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='NetworkInterfaceGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_network_interfaces_neighbors_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + filter=None, # type: str + limit=None, # type: int + local_port_names=None, # type: List[str] + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.NetworkInterfaceNeighborGetResponse + """List network interface neighbors + + Displays all neighbors for all network interfaces on the array. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_network_interfaces_neighbors_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param list[str] local_port_names: Performs the operation on the unique local port name specified. Enter multiple names in comma-separated format. For example, `ct0.eth0,ct1.eth0`. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: NetworkInterfaceNeighborGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if local_port_names is not None: + if not isinstance(local_port_names, list): + local_port_names = [local_port_names] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_network_interfaces_neighbors_get`, must be a value greater than or equal to `1`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'local_port_names' in params: + query_params.append(('local_port_names', params['local_port_names'])) + collection_formats['local_port_names'] = 'csv' + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/network-interfaces/neighbors', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='NetworkInterfaceNeighborGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_network_interfaces_patch_with_http_info( + self, + network=None, # type: models.NetworkInterfacePatch + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.NetworkInterfaceResponse + """Modify network interface + + Modifies a network interface on a controller. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_network_interfaces_patch_with_http_info(network, async_req=True) + >>> result = thread.get() + + :param NetworkInterfacePatch network: (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: NetworkInterfaceResponse + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'network' is set + if network is None: + raise TypeError("Missing the required parameter `network` when calling `api226_network_interfaces_patch`") + + collection_formats = {} + path_params = {} + + query_params = [] + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'network' in params: + body_params = params['network'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/network-interfaces', 'PATCH', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='NetworkInterfaceResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_network_interfaces_performance_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + filter=None, # type: str + end_time=None, # type: int + resolution=None, # type: int + start_time=None, # type: int + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + total_only=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.NetworkInterfacePerformanceGetResponse + """List network performance statistics + + Displays network statistics, historical bandwidth, and error reporting for all specified network interfaces. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_network_interfaces_performance_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param int end_time: Displays historical performance data for the specified time window, where `start_time` is the beginning of the time window, and `end_time` is the end of the time window. The `start_time` and `end_time` parameters are specified in milliseconds since the UNIX epoch. If `start_time` is not specified, the start time will default to one resolution before the end time, meaning that the most recent sample of performance data will be displayed. If `end_time`is not specified, the end time will default to the current time. Include the `resolution` parameter to display the performance data at the specified resolution. If not specified, `resolution` defaults to the lowest valid resolution. + :param int resolution: The number of milliseconds between samples of historical data. For array-wide performance metrics (`/arrays/performance` endpoint), valid values are `1000` (1 second), `30000` (30 seconds), `300000` (5 minutes), `1800000` (30 minutes), `7200000` (2 hours), `28800000` (8 hours), and `86400000` (24 hours). For performance metrics on storage objects (`/performance` endpoint), such as volumes, valid values are `30000` (30 seconds), `300000` (5 minutes), `1800000` (30 minutes), `7200000` (2 hours), `28800000` (8 hours), and `86400000` (24 hours). For space metrics, (`/space` endpoint), valid values are `300000` (5 minutes), `1800000` (30 minutes), `7200000` (2 hours), `28800000` (8 hours), and `86400000` (24 hours). Include the `start_time` parameter to display the performance data starting at the specified start time. If `start_time` is not specified, the start time will default to one resolution before the end time, meaning that the most recent sample of performance data will be displayed. Include the `end_time` parameter to display the performance data until the specified end time. If `end_time`is not specified, the end time will default to the current time. If the `resolution` parameter is not specified but either the `start_time` or `end_time` parameter is, then `resolution` will default to the lowest valid resolution. + :param int start_time: Displays historical performance data for the specified time window, where `start_time` is the beginning of the time window, and `end_time` is the end of the time window. The `start_time` and `end_time` parameters are specified in milliseconds since the UNIX epoch. If `start_time` is not specified, the start time will default to one resolution before the end time, meaning that the most recent sample of performance data will be displayed. If `end_time`is not specified, the end time will default to the current time. Include the `resolution` parameter to display the performance data at the specified resolution. If not specified, `resolution` defaults to the lowest valid resolution. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool total_only: If set to `true`, returns the aggregate value of all items after filtering. Where it makes more sense, the average value is displayed instead. The values are displayed for each name where meaningful. If `total_only=true`, the `items` list will be empty. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: NetworkInterfacePerformanceGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'resolution' in params and params['resolution'] < 0: + raise ValueError("Invalid value for parameter `resolution` when calling `api226_network_interfaces_performance_get`, must be a value greater than or equal to `0`") + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_network_interfaces_performance_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_network_interfaces_performance_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'end_time' in params: + query_params.append(('end_time', params['end_time'])) + if 'resolution' in params: + query_params.append(('resolution', params['resolution'])) + if 'start_time' in params: + query_params.append(('start_time', params['start_time'])) + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + if 'total_only' in params: + query_params.append(('total_only', params['total_only'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/network-interfaces/performance', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='NetworkInterfacePerformanceGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_network_interfaces_port_details_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + filter=None, # type: str + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.NetworkInterfacesPortDetailsGetResponse + """List SFP port details + + Displays Ethernet and Fibre Channel SFP details. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_network_interfaces_port_details_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: NetworkInterfacesPortDetailsGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_network_interfaces_port_details_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_network_interfaces_port_details_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/network-interfaces/port-details', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='NetworkInterfacesPortDetailsGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_network_interfaces_post_with_http_info( + self, + network=None, # type: models.NetworkInterfacePost + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.NetworkInterfaceResponse + """Create network interface + + Creates a network interface on a controller on the array. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_network_interfaces_post_with_http_info(network, async_req=True) + >>> result = thread.get() + + :param NetworkInterfacePost network: (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: NetworkInterfaceResponse + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'network' is set + if network is None: + raise TypeError("Missing the required parameter `network` when calling `api226_network_interfaces_post`") + + collection_formats = {} + path_params = {} + + query_params = [] + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'network' in params: + body_params = params['network'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/network-interfaces', 'POST', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='NetworkInterfaceResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) diff --git a/pypureclient/flasharray/FA_2_26/api/offloads_api.py b/pypureclient/flasharray/FA_2_26/api/offloads_api.py new file mode 100644 index 000000000..7666d98fc --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/api/offloads_api.py @@ -0,0 +1,338 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +from __future__ import absolute_import + +import re + +# python 2 and python 3 compatibility library +import six +from typing import List, Optional + +from .. import models + +class OffloadsApi(object): + + def __init__(self, api_client): + self.api_client = api_client + + def api226_offloads_delete_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """Delete offload target + + Deletes an offload target. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_offloads_delete_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: None + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + collection_formats = {} + path_params = {} + + query_params = [] + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/offloads', 'DELETE', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type=None, + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_offloads_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + filter=None, # type: str + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + protocol=None, # type: str + sort=None, # type: List[str] + total_item_count=None, # type: bool + total_only=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.OffloadGetResponse + """List offload targets + + Displays a list of offload targets that are connected to the array. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_offloads_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param str protocol: Protocol type. Valid values are `azure`, `google-cloud`, `nfs`, and `s3`. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool total_only: If set to `true`, returns the aggregate value of all items after filtering. Where it makes more sense, the average value is displayed instead. The values are displayed for each name where meaningful. If `total_only=true`, the `items` list will be empty. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: OffloadGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_offloads_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_offloads_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'protocol' in params: + query_params.append(('protocol', params['protocol'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + if 'total_only' in params: + query_params.append(('total_only', params['total_only'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/offloads', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='OffloadGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_offloads_post_with_http_info( + self, + offload=None, # type: models.OffloadPost + authorization=None, # type: str + x_request_id=None, # type: str + initialize=None, # type: bool + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.OffloadResponse + """Create offload target + + Creates an offload target, connecting it to an array. Before you can connect to, manage, and replicate to an offload target, the Purity Run app must be installed. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_offloads_post_with_http_info(offload, async_req=True) + >>> result = thread.get() + + :param OffloadPost offload: (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param bool initialize: If set to `true`, initializes the Amazon S3/Azure Blob container/Google Cloud Storage in preparation for offloading. The parameter must be set to `true` if this is the first time the array is connecting to the offload target. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: OffloadResponse + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'offload' is set + if offload is None: + raise TypeError("Missing the required parameter `offload` when calling `api226_offloads_post`") + + collection_formats = {} + path_params = {} + + query_params = [] + if 'initialize' in params: + query_params.append(('initialize', params['initialize'])) + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'offload' in params: + body_params = params['offload'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/offloads', 'POST', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='OffloadResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) diff --git a/pypureclient/flasharray/FA_2_26/api/pod_replica_links_api.py b/pypureclient/flasharray/FA_2_26/api/pod_replica_links_api.py new file mode 100644 index 000000000..93c42577b --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/api/pod_replica_links_api.py @@ -0,0 +1,941 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +from __future__ import absolute_import + +import re + +# python 2 and python 3 compatibility library +import six +from typing import List, Optional + +from .. import models + +class PodReplicaLinksApi(object): + + def __init__(self, api_client): + self.api_client = api_client + + def api226_pod_replica_links_delete_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + ids=None, # type: List[str] + local_pod_ids=None, # type: List[str] + local_pod_names=None, # type: List[str] + remote_pod_ids=None, # type: List[str] + remote_pod_names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """Delete pod replica links + + Deletes pod replica links. The `local_pod_names` and `remote_pod_names` are required. Valid values are `replicating`, `baselining`, `paused`, `unhealthy`, `quiescing`, and `quiesced`. A status of `replicating` indicates that the source array is replicating to the target array. A status of `baselining` indicates that the the initial version of the dataset is being sent. During this phase, you cannot promote the target pod. In addition, changing the link direction might trigger the `baselining` status to recur. A status of `paused ` indicates that data transfer between objects has stopped. A status of `unhealthy` indicates that the link is currently unhealthy and customers must perform some health checks to determine the cause. A status of `quiescing` indicates that the source pod is not accepting new write requests but the most recent changes to the source have not arrived on the target. A status of `quiesced` indicates that the source pod has been demoted and all changes have been replicated to the target pod. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_pod_replica_links_delete_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] ids: Performs the operation on the unique resource IDs specified. Enter multiple resource IDs in comma-separated format. The `ids` or `names` parameter is required, but they cannot be set together. + :param list[str] local_pod_ids: A comma-separated list of local pod IDs. If, after filtering, there is not at least one resource that matches each of the elements, then an error is returned. This cannot be provided together with the `local_pod_names` query parameter. + :param list[str] local_pod_names: A comma-separated list of local pod names. If, after filtering, there is not at least one resource that matches each of the elements, then an error is returned. This cannot be provided together with the `local_pod_ids` query parameter. + :param list[str] remote_pod_ids: A comma-separated list of remote pod IDs. If, after filtering, there is not at least one resource that matches each of the elements, then an error is returned. This cannot be provided together with the `remote_pod_names` query parameter. + :param list[str] remote_pod_names: A comma-separated list of remote pod names. If, after filtering, there is not at least one resource that matches each of the elements, then an error is returned. This cannot be provided together with the `remote_pod_ids` query parameter. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: None + If the method is called asynchronously, + returns the request thread. + """ + if ids is not None: + if not isinstance(ids, list): + ids = [ids] + if local_pod_ids is not None: + if not isinstance(local_pod_ids, list): + local_pod_ids = [local_pod_ids] + if local_pod_names is not None: + if not isinstance(local_pod_names, list): + local_pod_names = [local_pod_names] + if remote_pod_ids is not None: + if not isinstance(remote_pod_ids, list): + remote_pod_ids = [remote_pod_ids] + if remote_pod_names is not None: + if not isinstance(remote_pod_names, list): + remote_pod_names = [remote_pod_names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + collection_formats = {} + path_params = {} + + query_params = [] + if 'ids' in params: + query_params.append(('ids', params['ids'])) + collection_formats['ids'] = 'csv' + if 'local_pod_ids' in params: + query_params.append(('local_pod_ids', params['local_pod_ids'])) + collection_formats['local_pod_ids'] = 'csv' + if 'local_pod_names' in params: + query_params.append(('local_pod_names', params['local_pod_names'])) + collection_formats['local_pod_names'] = 'csv' + if 'remote_pod_ids' in params: + query_params.append(('remote_pod_ids', params['remote_pod_ids'])) + collection_formats['remote_pod_ids'] = 'csv' + if 'remote_pod_names' in params: + query_params.append(('remote_pod_names', params['remote_pod_names'])) + collection_formats['remote_pod_names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/pod-replica-links', 'DELETE', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type=None, + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_pod_replica_links_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + filter=None, # type: str + ids=None, # type: List[str] + limit=None, # type: int + local_pod_ids=None, # type: List[str] + local_pod_names=None, # type: List[str] + offset=None, # type: int + remote_ids=None, # type: List[str] + remote_names=None, # type: List[str] + remote_pod_ids=None, # type: List[str] + remote_pod_names=None, # type: List[str] + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PodReplicaLinkGetResponse + """List pod replica links + + Displays the list of pod replica links that are configured between arrays. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_pod_replica_links_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param list[str] ids: Performs the operation on the unique resource IDs specified. Enter multiple resource IDs in comma-separated format. The `ids` or `names` parameter is required, but they cannot be set together. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param list[str] local_pod_ids: A comma-separated list of local pod IDs. If, after filtering, there is not at least one resource that matches each of the elements, then an error is returned. This cannot be provided together with the `local_pod_names` query parameter. + :param list[str] local_pod_names: A comma-separated list of local pod names. If, after filtering, there is not at least one resource that matches each of the elements, then an error is returned. This cannot be provided together with the `local_pod_ids` query parameter. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] remote_ids: A comma-separated list of remote array IDs. If, after filtering, there is not at least one resource that matches each of the elements, then an error is returned. This cannot be provided together with the `remote_names` query parameter. + :param list[str] remote_names: A comma-separated list of remote array names. If, after filtering, there is not at least one resource that matches each of the elements, then an error is returned. This cannot be provided together with the `remote_ids` query parameter. + :param list[str] remote_pod_ids: A comma-separated list of remote pod IDs. If, after filtering, there is not at least one resource that matches each of the elements, then an error is returned. This cannot be provided together with the `remote_pod_names` query parameter. + :param list[str] remote_pod_names: A comma-separated list of remote pod names. If, after filtering, there is not at least one resource that matches each of the elements, then an error is returned. This cannot be provided together with the `remote_pod_ids` query parameter. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: PodReplicaLinkGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if ids is not None: + if not isinstance(ids, list): + ids = [ids] + if local_pod_ids is not None: + if not isinstance(local_pod_ids, list): + local_pod_ids = [local_pod_ids] + if local_pod_names is not None: + if not isinstance(local_pod_names, list): + local_pod_names = [local_pod_names] + if remote_ids is not None: + if not isinstance(remote_ids, list): + remote_ids = [remote_ids] + if remote_names is not None: + if not isinstance(remote_names, list): + remote_names = [remote_names] + if remote_pod_ids is not None: + if not isinstance(remote_pod_ids, list): + remote_pod_ids = [remote_pod_ids] + if remote_pod_names is not None: + if not isinstance(remote_pod_names, list): + remote_pod_names = [remote_pod_names] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_pod_replica_links_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_pod_replica_links_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'ids' in params: + query_params.append(('ids', params['ids'])) + collection_formats['ids'] = 'csv' + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'local_pod_ids' in params: + query_params.append(('local_pod_ids', params['local_pod_ids'])) + collection_formats['local_pod_ids'] = 'csv' + if 'local_pod_names' in params: + query_params.append(('local_pod_names', params['local_pod_names'])) + collection_formats['local_pod_names'] = 'csv' + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'remote_ids' in params: + query_params.append(('remote_ids', params['remote_ids'])) + collection_formats['remote_ids'] = 'csv' + if 'remote_names' in params: + query_params.append(('remote_names', params['remote_names'])) + collection_formats['remote_names'] = 'csv' + if 'remote_pod_ids' in params: + query_params.append(('remote_pod_ids', params['remote_pod_ids'])) + collection_formats['remote_pod_ids'] = 'csv' + if 'remote_pod_names' in params: + query_params.append(('remote_pod_names', params['remote_pod_names'])) + collection_formats['remote_pod_names'] = 'csv' + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/pod-replica-links', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='PodReplicaLinkGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_pod_replica_links_lag_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + filter=None, # type: str + ids=None, # type: List[str] + end_time=None, # type: int + resolution=None, # type: int + start_time=None, # type: int + limit=None, # type: int + local_pod_ids=None, # type: List[str] + local_pod_names=None, # type: List[str] + offset=None, # type: int + remote_ids=None, # type: List[str] + remote_names=None, # type: List[str] + remote_pod_ids=None, # type: List[str] + remote_pod_names=None, # type: List[str] + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PodReplicaLinkLagGetResponse + """List pod replica link lag + + Displays the lag in milliseconds that the replication target is behind the source. This is the time difference between the current time and the recovery point. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_pod_replica_links_lag_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param list[str] ids: Performs the operation on the unique resource IDs specified. Enter multiple resource IDs in comma-separated format. The `ids` or `names` parameter is required, but they cannot be set together. + :param int end_time: Displays historical performance data for the specified time window, where `start_time` is the beginning of the time window, and `end_time` is the end of the time window. The `start_time` and `end_time` parameters are specified in milliseconds since the UNIX epoch. If `start_time` is not specified, the start time will default to one resolution before the end time, meaning that the most recent sample of performance data will be displayed. If `end_time`is not specified, the end time will default to the current time. Include the `resolution` parameter to display the performance data at the specified resolution. If not specified, `resolution` defaults to the lowest valid resolution. + :param int resolution: The number of milliseconds between samples of historical data. For array-wide performance metrics (`/arrays/performance` endpoint), valid values are `1000` (1 second), `30000` (30 seconds), `300000` (5 minutes), `1800000` (30 minutes), `7200000` (2 hours), `28800000` (8 hours), and `86400000` (24 hours). For performance metrics on storage objects (`/performance` endpoint), such as volumes, valid values are `30000` (30 seconds), `300000` (5 minutes), `1800000` (30 minutes), `7200000` (2 hours), `28800000` (8 hours), and `86400000` (24 hours). For space metrics, (`/space` endpoint), valid values are `300000` (5 minutes), `1800000` (30 minutes), `7200000` (2 hours), `28800000` (8 hours), and `86400000` (24 hours). Include the `start_time` parameter to display the performance data starting at the specified start time. If `start_time` is not specified, the start time will default to one resolution before the end time, meaning that the most recent sample of performance data will be displayed. Include the `end_time` parameter to display the performance data until the specified end time. If `end_time`is not specified, the end time will default to the current time. If the `resolution` parameter is not specified but either the `start_time` or `end_time` parameter is, then `resolution` will default to the lowest valid resolution. + :param int start_time: Displays historical performance data for the specified time window, where `start_time` is the beginning of the time window, and `end_time` is the end of the time window. The `start_time` and `end_time` parameters are specified in milliseconds since the UNIX epoch. If `start_time` is not specified, the start time will default to one resolution before the end time, meaning that the most recent sample of performance data will be displayed. If `end_time`is not specified, the end time will default to the current time. Include the `resolution` parameter to display the performance data at the specified resolution. If not specified, `resolution` defaults to the lowest valid resolution. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param list[str] local_pod_ids: A comma-separated list of local pod IDs. If, after filtering, there is not at least one resource that matches each of the elements, then an error is returned. This cannot be provided together with the `local_pod_names` query parameter. + :param list[str] local_pod_names: A comma-separated list of local pod names. If, after filtering, there is not at least one resource that matches each of the elements, then an error is returned. This cannot be provided together with the `local_pod_ids` query parameter. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] remote_ids: A comma-separated list of remote array IDs. If, after filtering, there is not at least one resource that matches each of the elements, then an error is returned. This cannot be provided together with the `remote_names` query parameter. + :param list[str] remote_names: A comma-separated list of remote array names. If, after filtering, there is not at least one resource that matches each of the elements, then an error is returned. This cannot be provided together with the `remote_ids` query parameter. + :param list[str] remote_pod_ids: A comma-separated list of remote pod IDs. If, after filtering, there is not at least one resource that matches each of the elements, then an error is returned. This cannot be provided together with the `remote_pod_names` query parameter. + :param list[str] remote_pod_names: A comma-separated list of remote pod names. If, after filtering, there is not at least one resource that matches each of the elements, then an error is returned. This cannot be provided together with the `remote_pod_ids` query parameter. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: PodReplicaLinkLagGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if ids is not None: + if not isinstance(ids, list): + ids = [ids] + if local_pod_ids is not None: + if not isinstance(local_pod_ids, list): + local_pod_ids = [local_pod_ids] + if local_pod_names is not None: + if not isinstance(local_pod_names, list): + local_pod_names = [local_pod_names] + if remote_ids is not None: + if not isinstance(remote_ids, list): + remote_ids = [remote_ids] + if remote_names is not None: + if not isinstance(remote_names, list): + remote_names = [remote_names] + if remote_pod_ids is not None: + if not isinstance(remote_pod_ids, list): + remote_pod_ids = [remote_pod_ids] + if remote_pod_names is not None: + if not isinstance(remote_pod_names, list): + remote_pod_names = [remote_pod_names] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'resolution' in params and params['resolution'] < 0: + raise ValueError("Invalid value for parameter `resolution` when calling `api226_pod_replica_links_lag_get`, must be a value greater than or equal to `0`") + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_pod_replica_links_lag_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_pod_replica_links_lag_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'ids' in params: + query_params.append(('ids', params['ids'])) + collection_formats['ids'] = 'csv' + if 'end_time' in params: + query_params.append(('end_time', params['end_time'])) + if 'resolution' in params: + query_params.append(('resolution', params['resolution'])) + if 'start_time' in params: + query_params.append(('start_time', params['start_time'])) + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'local_pod_ids' in params: + query_params.append(('local_pod_ids', params['local_pod_ids'])) + collection_formats['local_pod_ids'] = 'csv' + if 'local_pod_names' in params: + query_params.append(('local_pod_names', params['local_pod_names'])) + collection_formats['local_pod_names'] = 'csv' + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'remote_ids' in params: + query_params.append(('remote_ids', params['remote_ids'])) + collection_formats['remote_ids'] = 'csv' + if 'remote_names' in params: + query_params.append(('remote_names', params['remote_names'])) + collection_formats['remote_names'] = 'csv' + if 'remote_pod_ids' in params: + query_params.append(('remote_pod_ids', params['remote_pod_ids'])) + collection_formats['remote_pod_ids'] = 'csv' + if 'remote_pod_names' in params: + query_params.append(('remote_pod_names', params['remote_pod_names'])) + collection_formats['remote_pod_names'] = 'csv' + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/pod-replica-links/lag', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='PodReplicaLinkLagGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_pod_replica_links_patch_with_http_info( + self, + pod_replica_link=None, # type: models.PodReplicaLinkPatch + authorization=None, # type: str + x_request_id=None, # type: str + ids=None, # type: List[str] + local_pod_ids=None, # type: List[str] + local_pod_names=None, # type: List[str] + remote_ids=None, # type: List[str] + remote_names=None, # type: List[str] + remote_pod_ids=None, # type: List[str] + remote_pod_names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PodReplicaLinkResponse + """Modify pod replica links + + Modifies pod replica links. The `local_pod_names` and `remote_pod_names` are required. Valid values are `replicating`, `baselining`, `paused`, `unhealthy`, `quiescing`, and `quiesced`. A status of `replicating` indicates that the source array is replicating to the target array. A status of `baselining` indicates that the the initial version of the dataset is being sent. During this phase, you cannot promote the target pod. In addition, changing the link direction might trigger the `baselining` status to recur. A status of `paused ` indicates that data transfer between objects has stopped. A status of `unhealthy` indicates that the link is currently unhealthy and customers must perform some health checks to determine the cause. A status of `quiescing` indicates that the source pod is not accepting new write requests but the most recent changes to the source have not arrived on the target. A status of `quiesced` indicates that the source pod has been demoted and all changes have been replicated to the target pod. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_pod_replica_links_patch_with_http_info(pod_replica_link, async_req=True) + >>> result = thread.get() + + :param PodReplicaLinkPatch pod_replica_link: (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] ids: Performs the operation on the unique resource IDs specified. Enter multiple resource IDs in comma-separated format. The `ids` or `names` parameter is required, but they cannot be set together. + :param list[str] local_pod_ids: A comma-separated list of local pod IDs. If, after filtering, there is not at least one resource that matches each of the elements, then an error is returned. This cannot be provided together with the `local_pod_names` query parameter. + :param list[str] local_pod_names: A comma-separated list of local pod names. If, after filtering, there is not at least one resource that matches each of the elements, then an error is returned. This cannot be provided together with the `local_pod_ids` query parameter. + :param list[str] remote_ids: A comma-separated list of remote array IDs. If, after filtering, there is not at least one resource that matches each of the elements, then an error is returned. This cannot be provided together with the `remote_names` query parameter. + :param list[str] remote_names: A comma-separated list of remote array names. If, after filtering, there is not at least one resource that matches each of the elements, then an error is returned. This cannot be provided together with the `remote_ids` query parameter. + :param list[str] remote_pod_ids: A comma-separated list of remote pod IDs. If, after filtering, there is not at least one resource that matches each of the elements, then an error is returned. This cannot be provided together with the `remote_pod_names` query parameter. + :param list[str] remote_pod_names: A comma-separated list of remote pod names. If, after filtering, there is not at least one resource that matches each of the elements, then an error is returned. This cannot be provided together with the `remote_pod_ids` query parameter. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: PodReplicaLinkResponse + If the method is called asynchronously, + returns the request thread. + """ + if ids is not None: + if not isinstance(ids, list): + ids = [ids] + if local_pod_ids is not None: + if not isinstance(local_pod_ids, list): + local_pod_ids = [local_pod_ids] + if local_pod_names is not None: + if not isinstance(local_pod_names, list): + local_pod_names = [local_pod_names] + if remote_ids is not None: + if not isinstance(remote_ids, list): + remote_ids = [remote_ids] + if remote_names is not None: + if not isinstance(remote_names, list): + remote_names = [remote_names] + if remote_pod_ids is not None: + if not isinstance(remote_pod_ids, list): + remote_pod_ids = [remote_pod_ids] + if remote_pod_names is not None: + if not isinstance(remote_pod_names, list): + remote_pod_names = [remote_pod_names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'pod_replica_link' is set + if pod_replica_link is None: + raise TypeError("Missing the required parameter `pod_replica_link` when calling `api226_pod_replica_links_patch`") + + collection_formats = {} + path_params = {} + + query_params = [] + if 'ids' in params: + query_params.append(('ids', params['ids'])) + collection_formats['ids'] = 'csv' + if 'local_pod_ids' in params: + query_params.append(('local_pod_ids', params['local_pod_ids'])) + collection_formats['local_pod_ids'] = 'csv' + if 'local_pod_names' in params: + query_params.append(('local_pod_names', params['local_pod_names'])) + collection_formats['local_pod_names'] = 'csv' + if 'remote_ids' in params: + query_params.append(('remote_ids', params['remote_ids'])) + collection_formats['remote_ids'] = 'csv' + if 'remote_names' in params: + query_params.append(('remote_names', params['remote_names'])) + collection_formats['remote_names'] = 'csv' + if 'remote_pod_ids' in params: + query_params.append(('remote_pod_ids', params['remote_pod_ids'])) + collection_formats['remote_pod_ids'] = 'csv' + if 'remote_pod_names' in params: + query_params.append(('remote_pod_names', params['remote_pod_names'])) + collection_formats['remote_pod_names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'pod_replica_link' in params: + body_params = params['pod_replica_link'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/pod-replica-links', 'PATCH', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='PodReplicaLinkResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_pod_replica_links_performance_replication_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + filter=None, # type: str + end_time=None, # type: int + resolution=None, # type: int + start_time=None, # type: int + ids=None, # type: List[str] + limit=None, # type: int + local_pod_ids=None, # type: List[str] + local_pod_names=None, # type: List[str] + offset=None, # type: int + remote_ids=None, # type: List[str] + remote_names=None, # type: List[str] + remote_pod_ids=None, # type: List[str] + remote_pod_names=None, # type: List[str] + sort=None, # type: List[str] + total_item_count=None, # type: bool + total_only=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PodReplicaLinkPerformanceReplicationGetResponse + """api226_pod_replica_links_performance_replication_get + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_pod_replica_links_performance_replication_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param int end_time: Displays historical performance data for the specified time window, where `start_time` is the beginning of the time window, and `end_time` is the end of the time window. The `start_time` and `end_time` parameters are specified in milliseconds since the UNIX epoch. If `start_time` is not specified, the start time will default to one resolution before the end time, meaning that the most recent sample of performance data will be displayed. If `end_time`is not specified, the end time will default to the current time. Include the `resolution` parameter to display the performance data at the specified resolution. If not specified, `resolution` defaults to the lowest valid resolution. + :param int resolution: The number of milliseconds between samples of historical data. For array-wide performance metrics (`/arrays/performance` endpoint), valid values are `1000` (1 second), `30000` (30 seconds), `300000` (5 minutes), `1800000` (30 minutes), `7200000` (2 hours), `28800000` (8 hours), and `86400000` (24 hours). For performance metrics on storage objects (`/performance` endpoint), such as volumes, valid values are `30000` (30 seconds), `300000` (5 minutes), `1800000` (30 minutes), `7200000` (2 hours), `28800000` (8 hours), and `86400000` (24 hours). For space metrics, (`/space` endpoint), valid values are `300000` (5 minutes), `1800000` (30 minutes), `7200000` (2 hours), `28800000` (8 hours), and `86400000` (24 hours). Include the `start_time` parameter to display the performance data starting at the specified start time. If `start_time` is not specified, the start time will default to one resolution before the end time, meaning that the most recent sample of performance data will be displayed. Include the `end_time` parameter to display the performance data until the specified end time. If `end_time`is not specified, the end time will default to the current time. If the `resolution` parameter is not specified but either the `start_time` or `end_time` parameter is, then `resolution` will default to the lowest valid resolution. + :param int start_time: Displays historical performance data for the specified time window, where `start_time` is the beginning of the time window, and `end_time` is the end of the time window. The `start_time` and `end_time` parameters are specified in milliseconds since the UNIX epoch. If `start_time` is not specified, the start time will default to one resolution before the end time, meaning that the most recent sample of performance data will be displayed. If `end_time`is not specified, the end time will default to the current time. Include the `resolution` parameter to display the performance data at the specified resolution. If not specified, `resolution` defaults to the lowest valid resolution. + :param list[str] ids: Performs the operation on the unique resource IDs specified. Enter multiple resource IDs in comma-separated format. The `ids` or `names` parameter is required, but they cannot be set together. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param list[str] local_pod_ids: A comma-separated list of local pod IDs. If, after filtering, there is not at least one resource that matches each of the elements, then an error is returned. This cannot be provided together with the `local_pod_names` query parameter. + :param list[str] local_pod_names: A comma-separated list of local pod names. If, after filtering, there is not at least one resource that matches each of the elements, then an error is returned. This cannot be provided together with the `local_pod_ids` query parameter. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] remote_ids: A comma-separated list of remote array IDs. If, after filtering, there is not at least one resource that matches each of the elements, then an error is returned. This cannot be provided together with the `remote_names` query parameter. + :param list[str] remote_names: A comma-separated list of remote array names. If, after filtering, there is not at least one resource that matches each of the elements, then an error is returned. This cannot be provided together with the `remote_ids` query parameter. + :param list[str] remote_pod_ids: A comma-separated list of remote pod IDs. If, after filtering, there is not at least one resource that matches each of the elements, then an error is returned. This cannot be provided together with the `remote_pod_names` query parameter. + :param list[str] remote_pod_names: A comma-separated list of remote pod names. If, after filtering, there is not at least one resource that matches each of the elements, then an error is returned. This cannot be provided together with the `remote_pod_ids` query parameter. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool total_only: If set to `true`, only return the aggregate value of all items after filtering. For real-time performance, the values are aggregated for the latest timestamp. For historical performance, the values are aggregated for each timestamp from `start_time` to `end_time`. Where it makes more sense, the average value is displayed instead. The values are displayed for each name where meaningful. If `total_only=true`, the `items` list will be empty. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: PodReplicaLinkPerformanceReplicationGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if ids is not None: + if not isinstance(ids, list): + ids = [ids] + if local_pod_ids is not None: + if not isinstance(local_pod_ids, list): + local_pod_ids = [local_pod_ids] + if local_pod_names is not None: + if not isinstance(local_pod_names, list): + local_pod_names = [local_pod_names] + if remote_ids is not None: + if not isinstance(remote_ids, list): + remote_ids = [remote_ids] + if remote_names is not None: + if not isinstance(remote_names, list): + remote_names = [remote_names] + if remote_pod_ids is not None: + if not isinstance(remote_pod_ids, list): + remote_pod_ids = [remote_pod_ids] + if remote_pod_names is not None: + if not isinstance(remote_pod_names, list): + remote_pod_names = [remote_pod_names] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'resolution' in params and params['resolution'] < 0: + raise ValueError("Invalid value for parameter `resolution` when calling `api226_pod_replica_links_performance_replication_get`, must be a value greater than or equal to `0`") + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_pod_replica_links_performance_replication_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_pod_replica_links_performance_replication_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'end_time' in params: + query_params.append(('end_time', params['end_time'])) + if 'resolution' in params: + query_params.append(('resolution', params['resolution'])) + if 'start_time' in params: + query_params.append(('start_time', params['start_time'])) + if 'ids' in params: + query_params.append(('ids', params['ids'])) + collection_formats['ids'] = 'csv' + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'local_pod_ids' in params: + query_params.append(('local_pod_ids', params['local_pod_ids'])) + collection_formats['local_pod_ids'] = 'csv' + if 'local_pod_names' in params: + query_params.append(('local_pod_names', params['local_pod_names'])) + collection_formats['local_pod_names'] = 'csv' + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'remote_ids' in params: + query_params.append(('remote_ids', params['remote_ids'])) + collection_formats['remote_ids'] = 'csv' + if 'remote_names' in params: + query_params.append(('remote_names', params['remote_names'])) + collection_formats['remote_names'] = 'csv' + if 'remote_pod_ids' in params: + query_params.append(('remote_pod_ids', params['remote_pod_ids'])) + collection_formats['remote_pod_ids'] = 'csv' + if 'remote_pod_names' in params: + query_params.append(('remote_pod_names', params['remote_pod_names'])) + collection_formats['remote_pod_names'] = 'csv' + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + if 'total_only' in params: + query_params.append(('total_only', params['total_only'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/pod-replica-links/performance/replication', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='PodReplicaLinkPerformanceReplicationGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_pod_replica_links_post_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + local_pod_ids=None, # type: List[str] + local_pod_names=None, # type: List[str] + remote_ids=None, # type: List[str] + remote_names=None, # type: List[str] + remote_pod_ids=None, # type: List[str] + remote_pod_names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PodReplicaLinkResponse + """Create pod replica links + + Creates pod replica links between two arrays. The `local_pod_names` and `remote_pod_names` are required. Valid values are `replicating`, `baselining`, `paused`, `unhealthy`, `quiescing`, and `quiesced`. A status of `replicating` indicates that the source array is replicating to the target array. A status of `baselining` indicates that the the initial version of the dataset is being sent. During this phase, you cannot promote the target pod. In addition, changing the link direction might trigger the `baselining` status to recur. A status of `paused ` indicates that data transfer between objects has stopped. A status of `unhealthy` indicates that the link is currently unhealthy and customers must perform some health checks to determine the cause. A status of `quiescing` indicates that the source pod is not accepting new write requests but the most recent changes to the source have not arrived on the target. A status of `quiesced` indicates that the source pod has been demoted and all changes have been replicated to the target pod. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_pod_replica_links_post_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] local_pod_ids: A comma-separated list of local pod IDs. If, after filtering, there is not at least one resource that matches each of the elements, then an error is returned. This cannot be provided together with the `local_pod_names` query parameter. + :param list[str] local_pod_names: A comma-separated list of local pod names. If, after filtering, there is not at least one resource that matches each of the elements, then an error is returned. This cannot be provided together with the `local_pod_ids` query parameter. + :param list[str] remote_ids: A comma-separated list of remote array IDs. If, after filtering, there is not at least one resource that matches each of the elements, then an error is returned. This cannot be provided together with the `remote_names` query parameter. + :param list[str] remote_names: A comma-separated list of remote array names. If, after filtering, there is not at least one resource that matches each of the elements, then an error is returned. This cannot be provided together with the `remote_ids` query parameter. + :param list[str] remote_pod_ids: A comma-separated list of remote pod IDs. If, after filtering, there is not at least one resource that matches each of the elements, then an error is returned. This cannot be provided together with the `remote_pod_names` query parameter. + :param list[str] remote_pod_names: A comma-separated list of remote pod names. If, after filtering, there is not at least one resource that matches each of the elements, then an error is returned. This cannot be provided together with the `remote_pod_ids` query parameter. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: PodReplicaLinkResponse + If the method is called asynchronously, + returns the request thread. + """ + if local_pod_ids is not None: + if not isinstance(local_pod_ids, list): + local_pod_ids = [local_pod_ids] + if local_pod_names is not None: + if not isinstance(local_pod_names, list): + local_pod_names = [local_pod_names] + if remote_ids is not None: + if not isinstance(remote_ids, list): + remote_ids = [remote_ids] + if remote_names is not None: + if not isinstance(remote_names, list): + remote_names = [remote_names] + if remote_pod_ids is not None: + if not isinstance(remote_pod_ids, list): + remote_pod_ids = [remote_pod_ids] + if remote_pod_names is not None: + if not isinstance(remote_pod_names, list): + remote_pod_names = [remote_pod_names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + collection_formats = {} + path_params = {} + + query_params = [] + if 'local_pod_ids' in params: + query_params.append(('local_pod_ids', params['local_pod_ids'])) + collection_formats['local_pod_ids'] = 'csv' + if 'local_pod_names' in params: + query_params.append(('local_pod_names', params['local_pod_names'])) + collection_formats['local_pod_names'] = 'csv' + if 'remote_ids' in params: + query_params.append(('remote_ids', params['remote_ids'])) + collection_formats['remote_ids'] = 'csv' + if 'remote_names' in params: + query_params.append(('remote_names', params['remote_names'])) + collection_formats['remote_names'] = 'csv' + if 'remote_pod_ids' in params: + query_params.append(('remote_pod_ids', params['remote_pod_ids'])) + collection_formats['remote_pod_ids'] = 'csv' + if 'remote_pod_names' in params: + query_params.append(('remote_pod_names', params['remote_pod_names'])) + collection_formats['remote_pod_names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/pod-replica-links', 'POST', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='PodReplicaLinkResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) diff --git a/pypureclient/flasharray/FA_2_26/api/pods_api.py b/pypureclient/flasharray/FA_2_26/api/pods_api.py new file mode 100644 index 000000000..d0c42cb79 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/api/pods_api.py @@ -0,0 +1,1595 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +from __future__ import absolute_import + +import re + +# python 2 and python 3 compatibility library +import six +from typing import List, Optional + +from .. import models + +class PodsApi(object): + + def __init__(self, api_client): + self.api_client = api_client + + def api226_pods_arrays_delete_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + group_names=None, # type: List[str] + group_ids=None, # type: List[str] + member_names=None, # type: List[str] + member_ids=None, # type: List[str] + with_unknown=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """Unstretch a pod from an array + + Unstretches a pod from an array, collapsing the pod to a single array. Unstretch a pod from an array when the volumes within the stretched pod no longer need to be synchronously replicated between the two arrays. After a pod has been unstretched, synchronous replication stops. A destroyed version of the pod with \"restretch\" appended to the pod name is created on the array that no longer has the pod. The restretch pod represents a point-in-time snapshot of the pod, just before it was unstretched. The restretch pod enters an eradication pending period starting from the time that the pod was unstretched. A restretch can pod can be cloned or destroyed, but it cannot be explicitly recovered. The `group_names` parameter represents the name of the pod to be unstretched. The `member_names` parameter represents the name of the array from which the pod is to be unstretched. The `group_names` and `member_names` parameters are required and must be set together. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_pods_arrays_delete_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] group_names: Performs the operation on the unique group name specified. Examples of groups include host groups, pods, protection groups, and volume groups. Enter multiple names in comma-separated format. For example, `hgroup01,hgroup02`. + :param list[str] group_ids: A comma-separated list of group IDs. + :param list[str] member_names: Performs the operation on the unique member name specified. Examples of members include volumes, hosts, host groups, and directories. Enter multiple names in comma-separated format. For example, `vol01,vol02`. + :param list[str] member_ids: Performs the operation on the unique member IDs specified. Enter multiple member IDs in comma-separated format. The `member_ids` or `member_names` parameter is required, but they cannot be set together. + :param bool with_unknown: If set to `true`, unstretches the specified pod from the specified array by force. Use the `with_unknown` parameter in the following rare event: the local array goes offline while the pod is still stretched across two arrays, the status of the remote array becomes unknown, and there is no guarantee that the pod is online elsewhere. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: None + If the method is called asynchronously, + returns the request thread. + """ + if group_names is not None: + if not isinstance(group_names, list): + group_names = [group_names] + if group_ids is not None: + if not isinstance(group_ids, list): + group_ids = [group_ids] + if member_names is not None: + if not isinstance(member_names, list): + member_names = [member_names] + if member_ids is not None: + if not isinstance(member_ids, list): + member_ids = [member_ids] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + collection_formats = {} + path_params = {} + + query_params = [] + if 'group_names' in params: + query_params.append(('group_names', params['group_names'])) + collection_formats['group_names'] = 'csv' + if 'group_ids' in params: + query_params.append(('group_ids', params['group_ids'])) + collection_formats['group_ids'] = 'csv' + if 'member_names' in params: + query_params.append(('member_names', params['member_names'])) + collection_formats['member_names'] = 'csv' + if 'member_ids' in params: + query_params.append(('member_ids', params['member_ids'])) + collection_formats['member_ids'] = 'csv' + if 'with_unknown' in params: + query_params.append(('with_unknown', params['with_unknown'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/pods/arrays', 'DELETE', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type=None, + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_pods_arrays_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + filter=None, # type: str + group_names=None, # type: List[str] + group_ids=None, # type: List[str] + limit=None, # type: int + member_names=None, # type: List[str] + member_ids=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.MemberGetResponse + """List pods and their the array members + + Returns a list of pods and the local and remote arrays over which the pods are stretched. The optional `group_names` parameter represents the name of the pod. The optional `member_names` parameter represents the name of the array over which the pod is stretched. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_pods_arrays_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param list[str] group_names: Performs the operation on the unique group name specified. Examples of groups include host groups, pods, protection groups, and volume groups. Enter multiple names in comma-separated format. For example, `hgroup01,hgroup02`. + :param list[str] group_ids: A comma-separated list of group IDs. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param list[str] member_names: Performs the operation on the unique member name specified. Examples of members include volumes, hosts, host groups, and directories. Enter multiple names in comma-separated format. For example, `vol01,vol02`. + :param list[str] member_ids: Performs the operation on the unique member IDs specified. Enter multiple member IDs in comma-separated format. The `member_ids` or `member_names` parameter is required, but they cannot be set together. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: MemberGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if group_names is not None: + if not isinstance(group_names, list): + group_names = [group_names] + if group_ids is not None: + if not isinstance(group_ids, list): + group_ids = [group_ids] + if member_names is not None: + if not isinstance(member_names, list): + member_names = [member_names] + if member_ids is not None: + if not isinstance(member_ids, list): + member_ids = [member_ids] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_pods_arrays_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_pods_arrays_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'group_names' in params: + query_params.append(('group_names', params['group_names'])) + collection_formats['group_names'] = 'csv' + if 'group_ids' in params: + query_params.append(('group_ids', params['group_ids'])) + collection_formats['group_ids'] = 'csv' + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'member_names' in params: + query_params.append(('member_names', params['member_names'])) + collection_formats['member_names'] = 'csv' + if 'member_ids' in params: + query_params.append(('member_ids', params['member_ids'])) + collection_formats['member_ids'] = 'csv' + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/pods/arrays', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='MemberGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_pods_arrays_post_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + group_names=None, # type: List[str] + group_ids=None, # type: List[str] + member_names=None, # type: List[str] + member_ids=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.MemberResponse + """Stretch a pod to an array + + Stretches a pod to an array. When a pod is stretched to an array, the data in the arrays over which the pod is stretched is synchronously replicated. The `group_names` parameter represents the name of the pod to be stretched. The `member_names` parameter represents the name of the array over which the pod is to be stretched. The `group_names` and `member_names` parameters are required and must be set together. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_pods_arrays_post_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] group_names: Performs the operation on the unique group name specified. Examples of groups include host groups, pods, protection groups, and volume groups. Enter multiple names in comma-separated format. For example, `hgroup01,hgroup02`. + :param list[str] group_ids: A comma-separated list of group IDs. + :param list[str] member_names: Performs the operation on the unique member name specified. Examples of members include volumes, hosts, host groups, and directories. Enter multiple names in comma-separated format. For example, `vol01,vol02`. + :param list[str] member_ids: Performs the operation on the unique member IDs specified. Enter multiple member IDs in comma-separated format. The `member_ids` or `member_names` parameter is required, but they cannot be set together. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: MemberResponse + If the method is called asynchronously, + returns the request thread. + """ + if group_names is not None: + if not isinstance(group_names, list): + group_names = [group_names] + if group_ids is not None: + if not isinstance(group_ids, list): + group_ids = [group_ids] + if member_names is not None: + if not isinstance(member_names, list): + member_names = [member_names] + if member_ids is not None: + if not isinstance(member_ids, list): + member_ids = [member_ids] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + collection_formats = {} + path_params = {} + + query_params = [] + if 'group_names' in params: + query_params.append(('group_names', params['group_names'])) + collection_formats['group_names'] = 'csv' + if 'group_ids' in params: + query_params.append(('group_ids', params['group_ids'])) + collection_formats['group_ids'] = 'csv' + if 'member_names' in params: + query_params.append(('member_names', params['member_names'])) + collection_formats['member_names'] = 'csv' + if 'member_ids' in params: + query_params.append(('member_ids', params['member_ids'])) + collection_formats['member_ids'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/pods/arrays', 'POST', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='MemberResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_pods_delete_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + ids=None, # type: List[str] + names=None, # type: List[str] + eradicate_contents=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """Delete a pod + + Deletes a pod that has been destroyed and is pending eradication. Eradicated pods cannot be recovered. Pods are destroyed using the PATCH method. The `ids` or `names` parameter is required, but they cannot be set together. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_pods_delete_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] ids: Performs the operation on the unique resource IDs specified. Enter multiple resource IDs in comma-separated format. The `ids` or `names` parameter is required, but they cannot be set together. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param bool eradicate_contents: Set to `true` to eradicate contents (e.g., volumes, protection groups, snapshots) and containers (e.g., pods, volume groups). This enables you to eradicate containers with contents. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: None + If the method is called asynchronously, + returns the request thread. + """ + if ids is not None: + if not isinstance(ids, list): + ids = [ids] + if names is not None: + if not isinstance(names, list): + names = [names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + collection_formats = {} + path_params = {} + + query_params = [] + if 'ids' in params: + query_params.append(('ids', params['ids'])) + collection_formats['ids'] = 'csv' + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'eradicate_contents' in params: + query_params.append(('eradicate_contents', params['eradicate_contents'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/pods', 'DELETE', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type=None, + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_pods_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + destroyed=None, # type: bool + filter=None, # type: str + ids=None, # type: List[str] + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + total_only=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PodGetResponse + """List pods + + Displays a list of pods that are stretched to this array. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_pods_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str continuation_token: A token used to retrieve the next page of data with some consistency guaranteed. The token is a Base64 encoded value. Set `continuation_token` to the system-generated token taken from the `x-next-token` header field of the response. A query has reached its last page when the response does not include a token. Pagination requires the `limit` and `continuation_token` query parameters. + :param bool destroyed: If set to `true`, lists only destroyed objects that are in the eradication pending state. If set to `false`, lists only objects that are not destroyed. For destroyed objects, the time remaining is displayed in milliseconds. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param list[str] ids: Performs the operation on the unique resource IDs specified. Enter multiple resource IDs in comma-separated format. The `ids` or `names` parameter is required, but they cannot be set together. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool total_only: If set to `true`, returns the aggregate value of all items after filtering. Where it makes more sense, the average value is displayed instead. The values are displayed for each name where meaningful. If `total_only=true`, the `items` list will be empty. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: PodGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if ids is not None: + if not isinstance(ids, list): + ids = [ids] + if names is not None: + if not isinstance(names, list): + names = [names] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_pods_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_pods_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'continuation_token' in params: + query_params.append(('continuation_token', params['continuation_token'])) + if 'destroyed' in params: + query_params.append(('destroyed', params['destroyed'])) + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'ids' in params: + query_params.append(('ids', params['ids'])) + collection_formats['ids'] = 'csv' + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + if 'total_only' in params: + query_params.append(('total_only', params['total_only'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/pods', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='PodGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_pods_patch_with_http_info( + self, + pod=None, # type: models.PodPatch + authorization=None, # type: str + x_request_id=None, # type: str + ids=None, # type: List[str] + names=None, # type: List[str] + abort_quiesce=None, # type: bool + quiesce=None, # type: bool + skip_quiesce=None, # type: bool + promote_from=None, # type: str + destroy_contents=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PodResponse + """Modify a pod + + Modifies pod details. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_pods_patch_with_http_info(pod, async_req=True) + >>> result = thread.get() + + :param PodPatch pod: (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] ids: Performs the operation on the unique resource IDs specified. Enter multiple resource IDs in comma-separated format. The `ids` or `names` parameter is required, but they cannot be set together. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param bool abort_quiesce: Set to `true` to promote the pod when the `pod-replica-link` is in the `quiescing` state and abort when waiting for the `pod-replica-link` to complete the quiescing operation. + :param bool quiesce: Set to `true` to demote the pod after the `pod-replica-link` goes into `quiesced` state and allow the pod to become a target of the remote pod. This ensures that all local data has been replicated to the remote pod before the pod is demoted. + :param bool skip_quiesce: Set to `true` to demote the pod without quiescing the `pod-replica-link` and allow the pod to become a target of the remote pod. This stops all pending replication to the remote pod. + :param str promote_from: The `undo-demote` pod that should be used to promote the pod. After the pod has been promoted, it will have the same data as the `undo-demote` pod and the `undo-demote` pod will be eradicated. + :param bool destroy_contents: Set to `true` to destroy contents (e.g., volumes, protection groups, snapshots) and containers (e.g., pods, volume groups). This enables you to destroy containers with contents. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: PodResponse + If the method is called asynchronously, + returns the request thread. + """ + if ids is not None: + if not isinstance(ids, list): + ids = [ids] + if names is not None: + if not isinstance(names, list): + names = [names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'pod' is set + if pod is None: + raise TypeError("Missing the required parameter `pod` when calling `api226_pods_patch`") + + collection_formats = {} + path_params = {} + + query_params = [] + if 'ids' in params: + query_params.append(('ids', params['ids'])) + collection_formats['ids'] = 'csv' + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'abort_quiesce' in params: + query_params.append(('abort_quiesce', params['abort_quiesce'])) + if 'quiesce' in params: + query_params.append(('quiesce', params['quiesce'])) + if 'skip_quiesce' in params: + query_params.append(('skip_quiesce', params['skip_quiesce'])) + if 'promote_from' in params: + query_params.append(('promote_from', params['promote_from'])) + if 'destroy_contents' in params: + query_params.append(('destroy_contents', params['destroy_contents'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'pod' in params: + body_params = params['pod'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/pods', 'PATCH', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='PodResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_pods_performance_by_array_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + destroyed=None, # type: bool + filter=None, # type: str + end_time=None, # type: int + resolution=None, # type: int + start_time=None, # type: int + ids=None, # type: List[str] + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + protocol=None, # type: str + protocol_group=None, # type: str + sort=None, # type: List[str] + total_item_count=None, # type: bool + total_only=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PodPerformanceByArrayGetResponse + """List pod performance data by array + + Displays real-time and historical performance data, real-time latency data, and average I/O size data. The data is displayed as a total across all pods on the local array and by individual pod. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_pods_performance_by_array_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param bool destroyed: If set to `true`, lists only destroyed objects that are in the eradication pending state. If set to `false`, lists only objects that are not destroyed. For destroyed objects, the time remaining is displayed in milliseconds. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param int end_time: Displays historical performance data for the specified time window, where `start_time` is the beginning of the time window, and `end_time` is the end of the time window. The `start_time` and `end_time` parameters are specified in milliseconds since the UNIX epoch. If `start_time` is not specified, the start time will default to one resolution before the end time, meaning that the most recent sample of performance data will be displayed. If `end_time`is not specified, the end time will default to the current time. Include the `resolution` parameter to display the performance data at the specified resolution. If not specified, `resolution` defaults to the lowest valid resolution. + :param int resolution: The number of milliseconds between samples of historical data. For array-wide performance metrics (`/arrays/performance` endpoint), valid values are `1000` (1 second), `30000` (30 seconds), `300000` (5 minutes), `1800000` (30 minutes), `7200000` (2 hours), `28800000` (8 hours), and `86400000` (24 hours). For performance metrics on storage objects (`/performance` endpoint), such as volumes, valid values are `30000` (30 seconds), `300000` (5 minutes), `1800000` (30 minutes), `7200000` (2 hours), `28800000` (8 hours), and `86400000` (24 hours). For space metrics, (`/space` endpoint), valid values are `300000` (5 minutes), `1800000` (30 minutes), `7200000` (2 hours), `28800000` (8 hours), and `86400000` (24 hours). Include the `start_time` parameter to display the performance data starting at the specified start time. If `start_time` is not specified, the start time will default to one resolution before the end time, meaning that the most recent sample of performance data will be displayed. Include the `end_time` parameter to display the performance data until the specified end time. If `end_time`is not specified, the end time will default to the current time. If the `resolution` parameter is not specified but either the `start_time` or `end_time` parameter is, then `resolution` will default to the lowest valid resolution. + :param int start_time: Displays historical performance data for the specified time window, where `start_time` is the beginning of the time window, and `end_time` is the end of the time window. The `start_time` and `end_time` parameters are specified in milliseconds since the UNIX epoch. If `start_time` is not specified, the start time will default to one resolution before the end time, meaning that the most recent sample of performance data will be displayed. If `end_time`is not specified, the end time will default to the current time. Include the `resolution` parameter to display the performance data at the specified resolution. If not specified, `resolution` defaults to the lowest valid resolution. + :param list[str] ids: Performs the operation on the unique resource IDs specified. Enter multiple resource IDs in comma-separated format. The `ids` or `names` parameter is required, but they cannot be set together. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param str protocol: Protocol type. Valid values are `nfs`, `smb`, and `all`. + :param str protocol_group: Protocol group type. Valid values are `block`, `file`, and `all`. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool total_only: If set to `true`, returns the aggregate value of all items after filtering. Where it makes more sense, the average value is displayed instead. The values are displayed for each name where meaningful. If `total_only=true`, the `items` list will be empty. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: PodPerformanceByArrayGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if ids is not None: + if not isinstance(ids, list): + ids = [ids] + if names is not None: + if not isinstance(names, list): + names = [names] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'resolution' in params and params['resolution'] < 0: + raise ValueError("Invalid value for parameter `resolution` when calling `api226_pods_performance_by_array_get`, must be a value greater than or equal to `0`") + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_pods_performance_by_array_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_pods_performance_by_array_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'destroyed' in params: + query_params.append(('destroyed', params['destroyed'])) + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'end_time' in params: + query_params.append(('end_time', params['end_time'])) + if 'resolution' in params: + query_params.append(('resolution', params['resolution'])) + if 'start_time' in params: + query_params.append(('start_time', params['start_time'])) + if 'ids' in params: + query_params.append(('ids', params['ids'])) + collection_formats['ids'] = 'csv' + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'protocol' in params: + query_params.append(('protocol', params['protocol'])) + if 'protocol_group' in params: + query_params.append(('protocol_group', params['protocol_group'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + if 'total_only' in params: + query_params.append(('total_only', params['total_only'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/pods/performance/by-array', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='PodPerformanceByArrayGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_pods_performance_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + destroyed=None, # type: bool + filter=None, # type: str + end_time=None, # type: int + resolution=None, # type: int + start_time=None, # type: int + ids=None, # type: List[str] + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + protocol=None, # type: str + protocol_group=None, # type: str + sort=None, # type: List[str] + total_item_count=None, # type: bool + total_only=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PodPerformanceGetResponse + """List pod performance data + + Displays real-time and historical performance data, real-time latency data, and average I/O sizes across all pods, displayed both by pod and as a total across all pods. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_pods_performance_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param bool destroyed: If set to `true`, lists only destroyed objects that are in the eradication pending state. If set to `false`, lists only objects that are not destroyed. For destroyed objects, the time remaining is displayed in milliseconds. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param int end_time: Displays historical performance data for the specified time window, where `start_time` is the beginning of the time window, and `end_time` is the end of the time window. The `start_time` and `end_time` parameters are specified in milliseconds since the UNIX epoch. If `start_time` is not specified, the start time will default to one resolution before the end time, meaning that the most recent sample of performance data will be displayed. If `end_time`is not specified, the end time will default to the current time. Include the `resolution` parameter to display the performance data at the specified resolution. If not specified, `resolution` defaults to the lowest valid resolution. + :param int resolution: The number of milliseconds between samples of historical data. For array-wide performance metrics (`/arrays/performance` endpoint), valid values are `1000` (1 second), `30000` (30 seconds), `300000` (5 minutes), `1800000` (30 minutes), `7200000` (2 hours), `28800000` (8 hours), and `86400000` (24 hours). For performance metrics on storage objects (`/performance` endpoint), such as volumes, valid values are `30000` (30 seconds), `300000` (5 minutes), `1800000` (30 minutes), `7200000` (2 hours), `28800000` (8 hours), and `86400000` (24 hours). For space metrics, (`/space` endpoint), valid values are `300000` (5 minutes), `1800000` (30 minutes), `7200000` (2 hours), `28800000` (8 hours), and `86400000` (24 hours). Include the `start_time` parameter to display the performance data starting at the specified start time. If `start_time` is not specified, the start time will default to one resolution before the end time, meaning that the most recent sample of performance data will be displayed. Include the `end_time` parameter to display the performance data until the specified end time. If `end_time`is not specified, the end time will default to the current time. If the `resolution` parameter is not specified but either the `start_time` or `end_time` parameter is, then `resolution` will default to the lowest valid resolution. + :param int start_time: Displays historical performance data for the specified time window, where `start_time` is the beginning of the time window, and `end_time` is the end of the time window. The `start_time` and `end_time` parameters are specified in milliseconds since the UNIX epoch. If `start_time` is not specified, the start time will default to one resolution before the end time, meaning that the most recent sample of performance data will be displayed. If `end_time`is not specified, the end time will default to the current time. Include the `resolution` parameter to display the performance data at the specified resolution. If not specified, `resolution` defaults to the lowest valid resolution. + :param list[str] ids: Performs the operation on the unique resource IDs specified. Enter multiple resource IDs in comma-separated format. The `ids` or `names` parameter is required, but they cannot be set together. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param str protocol: Protocol type. Valid values are `nfs`, `smb`, and `all`. + :param str protocol_group: Protocol group type. Valid values are `block`, `file`, and `all`. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool total_only: If set to `true`, returns the aggregate value of all items after filtering. Where it makes more sense, the average value is displayed instead. The values are displayed for each name where meaningful. If `total_only=true`, the `items` list will be empty. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: PodPerformanceGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if ids is not None: + if not isinstance(ids, list): + ids = [ids] + if names is not None: + if not isinstance(names, list): + names = [names] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'resolution' in params and params['resolution'] < 0: + raise ValueError("Invalid value for parameter `resolution` when calling `api226_pods_performance_get`, must be a value greater than or equal to `0`") + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_pods_performance_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_pods_performance_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'destroyed' in params: + query_params.append(('destroyed', params['destroyed'])) + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'end_time' in params: + query_params.append(('end_time', params['end_time'])) + if 'resolution' in params: + query_params.append(('resolution', params['resolution'])) + if 'start_time' in params: + query_params.append(('start_time', params['start_time'])) + if 'ids' in params: + query_params.append(('ids', params['ids'])) + collection_formats['ids'] = 'csv' + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'protocol' in params: + query_params.append(('protocol', params['protocol'])) + if 'protocol_group' in params: + query_params.append(('protocol_group', params['protocol_group'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + if 'total_only' in params: + query_params.append(('total_only', params['total_only'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/pods/performance', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='PodPerformanceGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_pods_performance_replication_by_array_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + destroyed=None, # type: bool + filter=None, # type: str + end_time=None, # type: int + resolution=None, # type: int + start_time=None, # type: int + ids=None, # type: List[str] + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + total_only=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PodPerformanceReplicationByArrayGetResponse + """List pod replication performance data by array + + Displays pod replication performance data, organized by array. The data returned is the real-time and historical performance data for each replication type at the pod level. Values include `continuous`, `periodic`, `resync`, and `sync`. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_pods_performance_replication_by_array_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param bool destroyed: If set to `true`, lists only destroyed objects that are in the eradication pending state. If set to `false`, lists only objects that are not destroyed. For destroyed objects, the time remaining is displayed in milliseconds. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param int end_time: Displays historical performance data for the specified time window, where `start_time` is the beginning of the time window, and `end_time` is the end of the time window. The `start_time` and `end_time` parameters are specified in milliseconds since the UNIX epoch. If `start_time` is not specified, the start time will default to one resolution before the end time, meaning that the most recent sample of performance data will be displayed. If `end_time`is not specified, the end time will default to the current time. Include the `resolution` parameter to display the performance data at the specified resolution. If not specified, `resolution` defaults to the lowest valid resolution. + :param int resolution: The number of milliseconds between samples of historical data. For array-wide performance metrics (`/arrays/performance` endpoint), valid values are `1000` (1 second), `30000` (30 seconds), `300000` (5 minutes), `1800000` (30 minutes), `7200000` (2 hours), `28800000` (8 hours), and `86400000` (24 hours). For performance metrics on storage objects (`/performance` endpoint), such as volumes, valid values are `30000` (30 seconds), `300000` (5 minutes), `1800000` (30 minutes), `7200000` (2 hours), `28800000` (8 hours), and `86400000` (24 hours). For space metrics, (`/space` endpoint), valid values are `300000` (5 minutes), `1800000` (30 minutes), `7200000` (2 hours), `28800000` (8 hours), and `86400000` (24 hours). Include the `start_time` parameter to display the performance data starting at the specified start time. If `start_time` is not specified, the start time will default to one resolution before the end time, meaning that the most recent sample of performance data will be displayed. Include the `end_time` parameter to display the performance data until the specified end time. If `end_time`is not specified, the end time will default to the current time. If the `resolution` parameter is not specified but either the `start_time` or `end_time` parameter is, then `resolution` will default to the lowest valid resolution. + :param int start_time: Displays historical performance data for the specified time window, where `start_time` is the beginning of the time window, and `end_time` is the end of the time window. The `start_time` and `end_time` parameters are specified in milliseconds since the UNIX epoch. If `start_time` is not specified, the start time will default to one resolution before the end time, meaning that the most recent sample of performance data will be displayed. If `end_time`is not specified, the end time will default to the current time. Include the `resolution` parameter to display the performance data at the specified resolution. If not specified, `resolution` defaults to the lowest valid resolution. + :param list[str] ids: Performs the operation on the unique resource IDs specified. Enter multiple resource IDs in comma-separated format. The `ids` or `names` parameter is required, but they cannot be set together. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool total_only: If set to `true`, returns the aggregate value of all items after filtering. Where it makes more sense, the average value is displayed instead. The values are displayed for each name where meaningful. If `total_only=true`, the `items` list will be empty. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: PodPerformanceReplicationByArrayGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if ids is not None: + if not isinstance(ids, list): + ids = [ids] + if names is not None: + if not isinstance(names, list): + names = [names] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'resolution' in params and params['resolution'] < 0: + raise ValueError("Invalid value for parameter `resolution` when calling `api226_pods_performance_replication_by_array_get`, must be a value greater than or equal to `0`") + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_pods_performance_replication_by_array_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_pods_performance_replication_by_array_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'destroyed' in params: + query_params.append(('destroyed', params['destroyed'])) + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'end_time' in params: + query_params.append(('end_time', params['end_time'])) + if 'resolution' in params: + query_params.append(('resolution', params['resolution'])) + if 'start_time' in params: + query_params.append(('start_time', params['start_time'])) + if 'ids' in params: + query_params.append(('ids', params['ids'])) + collection_formats['ids'] = 'csv' + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + if 'total_only' in params: + query_params.append(('total_only', params['total_only'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/pods/performance/replication/by-array', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='PodPerformanceReplicationByArrayGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_pods_performance_replication_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + destroyed=None, # type: bool + filter=None, # type: str + end_time=None, # type: int + resolution=None, # type: int + start_time=None, # type: int + ids=None, # type: List[str] + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + total_only=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PodPerformanceReplicationGetResponse + """List pod replication performance data + + Displays pod replication performance data. The data returned is the real-time and historical performance data for each replication type at the pod level. Values include `continuous`, `periodic`, `resync`, and `sync`. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_pods_performance_replication_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param bool destroyed: If set to `true`, lists only destroyed objects that are in the eradication pending state. If set to `false`, lists only objects that are not destroyed. For destroyed objects, the time remaining is displayed in milliseconds. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param int end_time: Displays historical performance data for the specified time window, where `start_time` is the beginning of the time window, and `end_time` is the end of the time window. The `start_time` and `end_time` parameters are specified in milliseconds since the UNIX epoch. If `start_time` is not specified, the start time will default to one resolution before the end time, meaning that the most recent sample of performance data will be displayed. If `end_time`is not specified, the end time will default to the current time. Include the `resolution` parameter to display the performance data at the specified resolution. If not specified, `resolution` defaults to the lowest valid resolution. + :param int resolution: The number of milliseconds between samples of historical data. For array-wide performance metrics (`/arrays/performance` endpoint), valid values are `1000` (1 second), `30000` (30 seconds), `300000` (5 minutes), `1800000` (30 minutes), `7200000` (2 hours), `28800000` (8 hours), and `86400000` (24 hours). For performance metrics on storage objects (`/performance` endpoint), such as volumes, valid values are `30000` (30 seconds), `300000` (5 minutes), `1800000` (30 minutes), `7200000` (2 hours), `28800000` (8 hours), and `86400000` (24 hours). For space metrics, (`/space` endpoint), valid values are `300000` (5 minutes), `1800000` (30 minutes), `7200000` (2 hours), `28800000` (8 hours), and `86400000` (24 hours). Include the `start_time` parameter to display the performance data starting at the specified start time. If `start_time` is not specified, the start time will default to one resolution before the end time, meaning that the most recent sample of performance data will be displayed. Include the `end_time` parameter to display the performance data until the specified end time. If `end_time`is not specified, the end time will default to the current time. If the `resolution` parameter is not specified but either the `start_time` or `end_time` parameter is, then `resolution` will default to the lowest valid resolution. + :param int start_time: Displays historical performance data for the specified time window, where `start_time` is the beginning of the time window, and `end_time` is the end of the time window. The `start_time` and `end_time` parameters are specified in milliseconds since the UNIX epoch. If `start_time` is not specified, the start time will default to one resolution before the end time, meaning that the most recent sample of performance data will be displayed. If `end_time`is not specified, the end time will default to the current time. Include the `resolution` parameter to display the performance data at the specified resolution. If not specified, `resolution` defaults to the lowest valid resolution. + :param list[str] ids: Performs the operation on the unique resource IDs specified. Enter multiple resource IDs in comma-separated format. The `ids` or `names` parameter is required, but they cannot be set together. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool total_only: If set to `true`, only return the aggregate value of all items after filtering. For real-time performance, the values are aggregated for the latest timestamp. For historical performance, the values are aggregated for each timestamp from `start_time` to `end_time`. Where it makes more sense, the average value is displayed instead. The values are displayed for each name where meaningful. If `total_only=true`, the `items` list will be empty. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: PodPerformanceReplicationGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if ids is not None: + if not isinstance(ids, list): + ids = [ids] + if names is not None: + if not isinstance(names, list): + names = [names] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'resolution' in params and params['resolution'] < 0: + raise ValueError("Invalid value for parameter `resolution` when calling `api226_pods_performance_replication_get`, must be a value greater than or equal to `0`") + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_pods_performance_replication_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_pods_performance_replication_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'destroyed' in params: + query_params.append(('destroyed', params['destroyed'])) + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'end_time' in params: + query_params.append(('end_time', params['end_time'])) + if 'resolution' in params: + query_params.append(('resolution', params['resolution'])) + if 'start_time' in params: + query_params.append(('start_time', params['start_time'])) + if 'ids' in params: + query_params.append(('ids', params['ids'])) + collection_formats['ids'] = 'csv' + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + if 'total_only' in params: + query_params.append(('total_only', params['total_only'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/pods/performance/replication', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='PodPerformanceReplicationGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_pods_post_with_http_info( + self, + pod=None, # type: models.PodPost + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PodResponse + """Create a pod + + Creates a pod on the local array. Each pod must be given a name that is unique across the arrays to which they are stretched, so a pod cannot be stretched to an array that already contains a pod with the same name. After a pod has been created, add volumes and protection groups to the pod, and then stretch the pod to another (connected) array. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_pods_post_with_http_info(pod, async_req=True) + >>> result = thread.get() + + :param PodPost pod: (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: PodResponse + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'pod' is set + if pod is None: + raise TypeError("Missing the required parameter `pod` when calling `api226_pods_post`") + + collection_formats = {} + path_params = {} + + query_params = [] + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'pod' in params: + body_params = params['pod'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/pods', 'POST', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='PodResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_pods_space_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + destroyed=None, # type: bool + filter=None, # type: str + end_time=None, # type: int + resolution=None, # type: int + start_time=None, # type: int + ids=None, # type: List[str] + limit=None, # type: int + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + total_only=None, # type: bool + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.ResourcePodSpaceGetResponse + """List pod space information + + Displays provisioned size and physical storage consumption data for each pod on the local array. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_pods_space_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param bool destroyed: If set to `true`, lists only destroyed objects that are in the eradication pending state. If set to `false`, lists only objects that are not destroyed. For destroyed objects, the time remaining is displayed in milliseconds. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param int end_time: Displays historical performance data for the specified time window, where `start_time` is the beginning of the time window, and `end_time` is the end of the time window. The `start_time` and `end_time` parameters are specified in milliseconds since the UNIX epoch. If `start_time` is not specified, the start time will default to one resolution before the end time, meaning that the most recent sample of performance data will be displayed. If `end_time`is not specified, the end time will default to the current time. Include the `resolution` parameter to display the performance data at the specified resolution. If not specified, `resolution` defaults to the lowest valid resolution. + :param int resolution: The number of milliseconds between samples of historical data. For array-wide performance metrics (`/arrays/performance` endpoint), valid values are `1000` (1 second), `30000` (30 seconds), `300000` (5 minutes), `1800000` (30 minutes), `7200000` (2 hours), `28800000` (8 hours), and `86400000` (24 hours). For performance metrics on storage objects (`/performance` endpoint), such as volumes, valid values are `30000` (30 seconds), `300000` (5 minutes), `1800000` (30 minutes), `7200000` (2 hours), `28800000` (8 hours), and `86400000` (24 hours). For space metrics, (`/space` endpoint), valid values are `300000` (5 minutes), `1800000` (30 minutes), `7200000` (2 hours), `28800000` (8 hours), and `86400000` (24 hours). Include the `start_time` parameter to display the performance data starting at the specified start time. If `start_time` is not specified, the start time will default to one resolution before the end time, meaning that the most recent sample of performance data will be displayed. Include the `end_time` parameter to display the performance data until the specified end time. If `end_time`is not specified, the end time will default to the current time. If the `resolution` parameter is not specified but either the `start_time` or `end_time` parameter is, then `resolution` will default to the lowest valid resolution. + :param int start_time: Displays historical performance data for the specified time window, where `start_time` is the beginning of the time window, and `end_time` is the end of the time window. The `start_time` and `end_time` parameters are specified in milliseconds since the UNIX epoch. If `start_time` is not specified, the start time will default to one resolution before the end time, meaning that the most recent sample of performance data will be displayed. If `end_time`is not specified, the end time will default to the current time. Include the `resolution` parameter to display the performance data at the specified resolution. If not specified, `resolution` defaults to the lowest valid resolution. + :param list[str] ids: Performs the operation on the unique resource IDs specified. Enter multiple resource IDs in comma-separated format. The `ids` or `names` parameter is required, but they cannot be set together. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool total_only: If set to `true`, returns the aggregate value of all items after filtering. Where it makes more sense, the average value is displayed instead. The values are displayed for each name where meaningful. If `total_only=true`, the `items` list will be empty. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: ResourcePodSpaceGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if ids is not None: + if not isinstance(ids, list): + ids = [ids] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + if names is not None: + if not isinstance(names, list): + names = [names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'resolution' in params and params['resolution'] < 0: + raise ValueError("Invalid value for parameter `resolution` when calling `api226_pods_space_get`, must be a value greater than or equal to `0`") + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_pods_space_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_pods_space_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'destroyed' in params: + query_params.append(('destroyed', params['destroyed'])) + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'end_time' in params: + query_params.append(('end_time', params['end_time'])) + if 'resolution' in params: + query_params.append(('resolution', params['resolution'])) + if 'start_time' in params: + query_params.append(('start_time', params['start_time'])) + if 'ids' in params: + query_params.append(('ids', params['ids'])) + collection_formats['ids'] = 'csv' + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + if 'total_only' in params: + query_params.append(('total_only', params['total_only'])) + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/pods/space', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='ResourcePodSpaceGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) diff --git a/pypureclient/flasharray/FA_2_26/api/policies_api.py b/pypureclient/flasharray/FA_2_26/api/policies_api.py new file mode 100644 index 000000000..ebc790ab7 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/api/policies_api.py @@ -0,0 +1,5920 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +from __future__ import absolute_import + +import re + +# python 2 and python 3 compatibility library +import six +from typing import List, Optional + +from .. import models + +class PoliciesApi(object): + + def __init__(self, api_client): + self.api_client = api_client + + def api226_policies_autodir_delete_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + ids=None, # type: List[str] + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """Delete auto managed directory policies + + Deletes one or more auto managed directory policies. The `ids` or `names` parameter is required, but they cannot be set together. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_policies_autodir_delete_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] ids: Performs the operation on the unique resource IDs specified. Enter multiple resource IDs in comma-separated format. The `ids` or `names` parameter is required, but they cannot be set together. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: None + If the method is called asynchronously, + returns the request thread. + """ + if ids is not None: + if not isinstance(ids, list): + ids = [ids] + if names is not None: + if not isinstance(names, list): + names = [names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + collection_formats = {} + path_params = {} + + query_params = [] + if 'ids' in params: + query_params.append(('ids', params['ids'])) + collection_formats['ids'] = 'csv' + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/policies/autodir', 'DELETE', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type=None, + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_policies_autodir_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + destroyed=None, # type: bool + filter=None, # type: str + ids=None, # type: List[str] + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PolicyGetResponse + """List auto managed directory policies + + Displays a list of auto managed directory policies. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_policies_autodir_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str continuation_token: A token used to retrieve the next page of data with some consistency guaranteed. The token is a Base64 encoded value. Set `continuation_token` to the system-generated token taken from the `x-next-token` header field of the response. A query has reached its last page when the response does not include a token. Pagination requires the `limit` and `continuation_token` query parameters. + :param bool destroyed: If set to `true`, lists only destroyed objects that are in the eradication pending state. If set to `false`, lists only objects that are not destroyed. For destroyed objects, the time remaining is displayed in milliseconds. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param list[str] ids: Performs the operation on the unique resource IDs specified. Enter multiple resource IDs in comma-separated format. The `ids` or `names` parameter is required, but they cannot be set together. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: PolicyGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if ids is not None: + if not isinstance(ids, list): + ids = [ids] + if names is not None: + if not isinstance(names, list): + names = [names] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_policies_autodir_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_policies_autodir_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'continuation_token' in params: + query_params.append(('continuation_token', params['continuation_token'])) + if 'destroyed' in params: + query_params.append(('destroyed', params['destroyed'])) + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'ids' in params: + query_params.append(('ids', params['ids'])) + collection_formats['ids'] = 'csv' + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/policies/autodir', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='PolicyGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_policies_autodir_members_delete_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + member_ids=None, # type: List[str] + member_names=None, # type: List[str] + member_types=None, # type: List[str] + policy_ids=None, # type: List[str] + policy_names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """Delete auto managed directory policies + + Deletes one or more auto managed directory policies from resources. The `policy_ids` or `policy_names` parameter is required, but they cannot be set together. The `member_ids` or `member_names` parameter is required, but they cannot be set together. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_policies_autodir_members_delete_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] member_ids: Performs the operation on the unique member IDs specified. Enter multiple member IDs in comma-separated format. The `member_ids` or `member_names` parameter is required, but they cannot be set together. + :param list[str] member_names: Performs the operation on the unique member name specified. Examples of members include volumes, hosts, host groups, and directories. Enter multiple names in comma-separated format. For example, `vol01,vol02`. + :param list[str] member_types: Performs the operation on the member types specified. The type of member is the full name of the resource endpoint. Valid values include `directories`. Enter multiple member types in comma-separated format. For example, `type01,type02`. + :param list[str] policy_ids: Performs the operation on the unique policy IDs specified. Enter multiple policy IDs in comma-separated format. The `policy_ids` or `policy_names` parameter is required, but they cannot be set together. + :param list[str] policy_names: Performs the operation on the policy names specified. Enter multiple policy names in comma-separated format. For example, `name01,name02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: None + If the method is called asynchronously, + returns the request thread. + """ + if member_ids is not None: + if not isinstance(member_ids, list): + member_ids = [member_ids] + if member_names is not None: + if not isinstance(member_names, list): + member_names = [member_names] + if member_types is not None: + if not isinstance(member_types, list): + member_types = [member_types] + if policy_ids is not None: + if not isinstance(policy_ids, list): + policy_ids = [policy_ids] + if policy_names is not None: + if not isinstance(policy_names, list): + policy_names = [policy_names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + collection_formats = {} + path_params = {} + + query_params = [] + if 'member_ids' in params: + query_params.append(('member_ids', params['member_ids'])) + collection_formats['member_ids'] = 'csv' + if 'member_names' in params: + query_params.append(('member_names', params['member_names'])) + collection_formats['member_names'] = 'csv' + if 'member_types' in params: + query_params.append(('member_types', params['member_types'])) + collection_formats['member_types'] = 'csv' + if 'policy_ids' in params: + query_params.append(('policy_ids', params['policy_ids'])) + collection_formats['policy_ids'] = 'csv' + if 'policy_names' in params: + query_params.append(('policy_names', params['policy_names'])) + collection_formats['policy_names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/policies/autodir/members', 'DELETE', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type=None, + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_policies_autodir_members_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + destroyed=None, # type: bool + filter=None, # type: str + limit=None, # type: int + member_ids=None, # type: List[str] + member_names=None, # type: List[str] + member_types=None, # type: List[str] + policy_ids=None, # type: List[str] + policy_names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PolicyMemberGetResponse + """List auto managed directories policy members + + Displays a list of auto managed directory policy members. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_policies_autodir_members_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str continuation_token: A token used to retrieve the next page of data with some consistency guaranteed. The token is a Base64 encoded value. Set `continuation_token` to the system-generated token taken from the `x-next-token` header field of the response. A query has reached its last page when the response does not include a token. Pagination requires the `limit` and `continuation_token` query parameters. + :param bool destroyed: If set to `true`, lists only destroyed objects that are in the eradication pending state. If set to `false`, lists only objects that are not destroyed. For destroyed objects, the time remaining is displayed in milliseconds. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param list[str] member_ids: Performs the operation on the unique member IDs specified. Enter multiple member IDs in comma-separated format. The `member_ids` or `member_names` parameter is required, but they cannot be set together. + :param list[str] member_names: Performs the operation on the unique member name specified. Examples of members include volumes, hosts, host groups, and directories. Enter multiple names in comma-separated format. For example, `vol01,vol02`. + :param list[str] member_types: Performs the operation on the member types specified. The type of member is the full name of the resource endpoint. Valid values include `directories`. Enter multiple member types in comma-separated format. For example, `type01,type02`. + :param list[str] policy_ids: Performs the operation on the unique policy IDs specified. Enter multiple policy IDs in comma-separated format. The `policy_ids` or `policy_names` parameter is required, but they cannot be set together. + :param list[str] policy_names: Performs the operation on the policy names specified. Enter multiple policy names in comma-separated format. For example, `name01,name02`. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: PolicyMemberGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if member_ids is not None: + if not isinstance(member_ids, list): + member_ids = [member_ids] + if member_names is not None: + if not isinstance(member_names, list): + member_names = [member_names] + if member_types is not None: + if not isinstance(member_types, list): + member_types = [member_types] + if policy_ids is not None: + if not isinstance(policy_ids, list): + policy_ids = [policy_ids] + if policy_names is not None: + if not isinstance(policy_names, list): + policy_names = [policy_names] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_policies_autodir_members_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_policies_autodir_members_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'continuation_token' in params: + query_params.append(('continuation_token', params['continuation_token'])) + if 'destroyed' in params: + query_params.append(('destroyed', params['destroyed'])) + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'member_ids' in params: + query_params.append(('member_ids', params['member_ids'])) + collection_formats['member_ids'] = 'csv' + if 'member_names' in params: + query_params.append(('member_names', params['member_names'])) + collection_formats['member_names'] = 'csv' + if 'member_types' in params: + query_params.append(('member_types', params['member_types'])) + collection_formats['member_types'] = 'csv' + if 'policy_ids' in params: + query_params.append(('policy_ids', params['policy_ids'])) + collection_formats['policy_ids'] = 'csv' + if 'policy_names' in params: + query_params.append(('policy_names', params['policy_names'])) + collection_formats['policy_names'] = 'csv' + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/policies/autodir/members', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='PolicyMemberGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_policies_autodir_members_post_with_http_info( + self, + members=None, # type: models.PolicyMemberPost + authorization=None, # type: str + x_request_id=None, # type: str + policy_ids=None, # type: List[str] + policy_names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PolicyMemberResponse + """Create auto managed directory policies + + Creates a membership between one or more resources with an auto managed directory policy. Applicable resources are directories. The `policy_ids` or `policy_names` parameter is required, but they cannot be set together. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_policies_autodir_members_post_with_http_info(members, async_req=True) + >>> result = thread.get() + + :param PolicyMemberPost members: (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] policy_ids: Performs the operation on the unique policy IDs specified. Enter multiple policy IDs in comma-separated format. The `policy_ids` or `policy_names` parameter is required, but they cannot be set together. + :param list[str] policy_names: Performs the operation on the policy names specified. Enter multiple policy names in comma-separated format. For example, `name01,name02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: PolicyMemberResponse + If the method is called asynchronously, + returns the request thread. + """ + if policy_ids is not None: + if not isinstance(policy_ids, list): + policy_ids = [policy_ids] + if policy_names is not None: + if not isinstance(policy_names, list): + policy_names = [policy_names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'members' is set + if members is None: + raise TypeError("Missing the required parameter `members` when calling `api226_policies_autodir_members_post`") + + collection_formats = {} + path_params = {} + + query_params = [] + if 'policy_ids' in params: + query_params.append(('policy_ids', params['policy_ids'])) + collection_formats['policy_ids'] = 'csv' + if 'policy_names' in params: + query_params.append(('policy_names', params['policy_names'])) + collection_formats['policy_names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'members' in params: + body_params = params['members'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/policies/autodir/members', 'POST', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='PolicyMemberResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_policies_autodir_patch_with_http_info( + self, + policy=None, # type: models.PolicyPatch + authorization=None, # type: str + x_request_id=None, # type: str + ids=None, # type: List[str] + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PolicyResponse + """Modify auto managed directory policies + + Modifies one or more auto managed directory policies. To enable a policy, set `enabled=true`. To disable a policy, set `enabled=true`. To rename a policy, set `name` to the new name. The `ids` or `names` parameter is required, but they cannot be set together. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_policies_autodir_patch_with_http_info(policy, async_req=True) + >>> result = thread.get() + + :param PolicyPatch policy: (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] ids: Performs the operation on the unique resource IDs specified. Enter multiple resource IDs in comma-separated format. The `ids` or `names` parameter is required, but they cannot be set together. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: PolicyResponse + If the method is called asynchronously, + returns the request thread. + """ + if ids is not None: + if not isinstance(ids, list): + ids = [ids] + if names is not None: + if not isinstance(names, list): + names = [names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'policy' is set + if policy is None: + raise TypeError("Missing the required parameter `policy` when calling `api226_policies_autodir_patch`") + + collection_formats = {} + path_params = {} + + query_params = [] + if 'ids' in params: + query_params.append(('ids', params['ids'])) + collection_formats['ids'] = 'csv' + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'policy' in params: + body_params = params['policy'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/policies/autodir', 'PATCH', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='PolicyResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_policies_autodir_post_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + source_ids=None, # type: List[str] + source_names=None, # type: List[str] + policy=None, # type: models.PolicyPost + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PolicyResponse + """Create auto managed directory policies + + Creates one or more auto managed directory policies. To copy a policy, set one of either `source_names` or `source_ids`. Each policy can only have one entry. To create a policy from scratch, policy body is required. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_policies_autodir_post_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param list[str] source_ids: Performs the operation on the source ID specified. Enter multiple source IDs in comma-separated format. + :param list[str] source_names: Performs the operation on the source name specified. Enter multiple source names in comma-separated format. For example, `name01,name02`. + :param PolicyPost policy: + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: PolicyResponse + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + if source_ids is not None: + if not isinstance(source_ids, list): + source_ids = [source_ids] + if source_names is not None: + if not isinstance(source_names, list): + source_names = [source_names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + collection_formats = {} + path_params = {} + + query_params = [] + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'source_ids' in params: + query_params.append(('source_ids', params['source_ids'])) + collection_formats['source_ids'] = 'csv' + if 'source_names' in params: + query_params.append(('source_names', params['source_names'])) + collection_formats['source_names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'policy' in params: + body_params = params['policy'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/policies/autodir', 'POST', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='PolicyResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_policies_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + destroyed=None, # type: bool + filter=None, # type: str + ids=None, # type: List[str] + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PolicyGetResponse + """List policies + + Displays a list of policies. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_policies_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str continuation_token: A token used to retrieve the next page of data with some consistency guaranteed. The token is a Base64 encoded value. Set `continuation_token` to the system-generated token taken from the `x-next-token` header field of the response. A query has reached its last page when the response does not include a token. Pagination requires the `limit` and `continuation_token` query parameters. + :param bool destroyed: If set to `true`, lists only destroyed objects that are in the eradication pending state. If set to `false`, lists only objects that are not destroyed. For destroyed objects, the time remaining is displayed in milliseconds. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param list[str] ids: Performs the operation on the unique resource IDs specified. Enter multiple resource IDs in comma-separated format. The `ids` or `names` parameter is required, but they cannot be set together. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: PolicyGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if ids is not None: + if not isinstance(ids, list): + ids = [ids] + if names is not None: + if not isinstance(names, list): + names = [names] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_policies_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_policies_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'continuation_token' in params: + query_params.append(('continuation_token', params['continuation_token'])) + if 'destroyed' in params: + query_params.append(('destroyed', params['destroyed'])) + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'ids' in params: + query_params.append(('ids', params['ids'])) + collection_formats['ids'] = 'csv' + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/policies', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='PolicyGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_policies_members_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + destroyed=None, # type: bool + filter=None, # type: str + limit=None, # type: int + member_ids=None, # type: List[str] + member_names=None, # type: List[str] + member_types=None, # type: List[str] + policy_ids=None, # type: List[str] + policy_names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PolicyMemberGetResponse + """List policy members + + Displays a list of policy members. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_policies_members_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str continuation_token: A token used to retrieve the next page of data with some consistency guaranteed. The token is a Base64 encoded value. Set `continuation_token` to the system-generated token taken from the `x-next-token` header field of the response. A query has reached its last page when the response does not include a token. Pagination requires the `limit` and `continuation_token` query parameters. + :param bool destroyed: If set to `true`, lists only destroyed objects that are in the eradication pending state. If set to `false`, lists only objects that are not destroyed. For destroyed objects, the time remaining is displayed in milliseconds. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param list[str] member_ids: Performs the operation on the unique member IDs specified. Enter multiple member IDs in comma-separated format. The `member_ids` or `member_names` parameter is required, but they cannot be set together. + :param list[str] member_names: Performs the operation on the unique member name specified. Examples of members include volumes, hosts, host groups, and directories. Enter multiple names in comma-separated format. For example, `vol01,vol02`. + :param list[str] member_types: Performs the operation on the member types specified. The type of member is the full name of the resource endpoint. Valid values include `directories`. Enter multiple member types in comma-separated format. For example, `type01,type02`. + :param list[str] policy_ids: Performs the operation on the unique policy IDs specified. Enter multiple policy IDs in comma-separated format. The `policy_ids` or `policy_names` parameter is required, but they cannot be set together. + :param list[str] policy_names: Performs the operation on the policy names specified. Enter multiple policy names in comma-separated format. For example, `name01,name02`. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: PolicyMemberGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if member_ids is not None: + if not isinstance(member_ids, list): + member_ids = [member_ids] + if member_names is not None: + if not isinstance(member_names, list): + member_names = [member_names] + if member_types is not None: + if not isinstance(member_types, list): + member_types = [member_types] + if policy_ids is not None: + if not isinstance(policy_ids, list): + policy_ids = [policy_ids] + if policy_names is not None: + if not isinstance(policy_names, list): + policy_names = [policy_names] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_policies_members_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_policies_members_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'continuation_token' in params: + query_params.append(('continuation_token', params['continuation_token'])) + if 'destroyed' in params: + query_params.append(('destroyed', params['destroyed'])) + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'member_ids' in params: + query_params.append(('member_ids', params['member_ids'])) + collection_formats['member_ids'] = 'csv' + if 'member_names' in params: + query_params.append(('member_names', params['member_names'])) + collection_formats['member_names'] = 'csv' + if 'member_types' in params: + query_params.append(('member_types', params['member_types'])) + collection_formats['member_types'] = 'csv' + if 'policy_ids' in params: + query_params.append(('policy_ids', params['policy_ids'])) + collection_formats['policy_ids'] = 'csv' + if 'policy_names' in params: + query_params.append(('policy_names', params['policy_names'])) + collection_formats['policy_names'] = 'csv' + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/policies/members', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='PolicyMemberGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_policies_nfs_client_rules_delete_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + policy_ids=None, # type: List[str] + policy_names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """Delete NFS client policy rules. + + Deletes one or more NFS client policy rules. The `policy_ids` or `policy_names` parameter is required, but they cannot be set together. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_policies_nfs_client_rules_delete_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param list[str] policy_ids: Performs the operation on the unique policy IDs specified. Enter multiple policy IDs in comma-separated format. The `policy_ids` or `policy_names` parameter is required, but they cannot be set together. + :param list[str] policy_names: Performs the operation on the policy names specified. Enter multiple policy names in comma-separated format. For example, `name01,name02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: None + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + if policy_ids is not None: + if not isinstance(policy_ids, list): + policy_ids = [policy_ids] + if policy_names is not None: + if not isinstance(policy_names, list): + policy_names = [policy_names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + collection_formats = {} + path_params = {} + + query_params = [] + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'policy_ids' in params: + query_params.append(('policy_ids', params['policy_ids'])) + collection_formats['policy_ids'] = 'csv' + if 'policy_names' in params: + query_params.append(('policy_names', params['policy_names'])) + collection_formats['policy_names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/policies/nfs/client-rules', 'DELETE', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type=None, + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_policies_nfs_client_rules_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + destroyed=None, # type: bool + filter=None, # type: str + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + policy_ids=None, # type: List[str] + policy_names=None, # type: List[str] + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PolicyRuleNfsClientGetResponse + """List NFS client policy rules + + Displays a list of NFS client policy rules. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_policies_nfs_client_rules_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str continuation_token: A token used to retrieve the next page of data with some consistency guaranteed. The token is a Base64 encoded value. Set `continuation_token` to the system-generated token taken from the `x-next-token` header field of the response. A query has reached its last page when the response does not include a token. Pagination requires the `limit` and `continuation_token` query parameters. + :param bool destroyed: If set to `true`, lists only destroyed objects that are in the eradication pending state. If set to `false`, lists only objects that are not destroyed. For destroyed objects, the time remaining is displayed in milliseconds. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] policy_ids: Performs the operation on the unique policy IDs specified. Enter multiple policy IDs in comma-separated format. The `policy_ids` or `policy_names` parameter is required, but they cannot be set together. + :param list[str] policy_names: Performs the operation on the policy names specified. Enter multiple policy names in comma-separated format. For example, `name01,name02`. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: PolicyRuleNfsClientGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + if policy_ids is not None: + if not isinstance(policy_ids, list): + policy_ids = [policy_ids] + if policy_names is not None: + if not isinstance(policy_names, list): + policy_names = [policy_names] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_policies_nfs_client_rules_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_policies_nfs_client_rules_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'continuation_token' in params: + query_params.append(('continuation_token', params['continuation_token'])) + if 'destroyed' in params: + query_params.append(('destroyed', params['destroyed'])) + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'policy_ids' in params: + query_params.append(('policy_ids', params['policy_ids'])) + collection_formats['policy_ids'] = 'csv' + if 'policy_names' in params: + query_params.append(('policy_names', params['policy_names'])) + collection_formats['policy_names'] = 'csv' + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/policies/nfs/client-rules', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='PolicyRuleNfsClientGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_policies_nfs_client_rules_post_with_http_info( + self, + rules=None, # type: models.PolicyRuleNfsClientPost + authorization=None, # type: str + x_request_id=None, # type: str + policy_ids=None, # type: List[str] + policy_names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PolicyRuleNfsClientResponse + """Create NFS client policy rules + + Creates one or more NFS client policy rules. The `policy_ids` or `policy_names` parameter is required, but they cannot be set together. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_policies_nfs_client_rules_post_with_http_info(rules, async_req=True) + >>> result = thread.get() + + :param PolicyRuleNfsClientPost rules: (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] policy_ids: Performs the operation on the unique policy IDs specified. Enter multiple policy IDs in comma-separated format. The `policy_ids` or `policy_names` parameter is required, but they cannot be set together. + :param list[str] policy_names: Performs the operation on the policy names specified. Enter multiple policy names in comma-separated format. For example, `name01,name02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: PolicyRuleNfsClientResponse + If the method is called asynchronously, + returns the request thread. + """ + if policy_ids is not None: + if not isinstance(policy_ids, list): + policy_ids = [policy_ids] + if policy_names is not None: + if not isinstance(policy_names, list): + policy_names = [policy_names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'rules' is set + if rules is None: + raise TypeError("Missing the required parameter `rules` when calling `api226_policies_nfs_client_rules_post`") + + collection_formats = {} + path_params = {} + + query_params = [] + if 'policy_ids' in params: + query_params.append(('policy_ids', params['policy_ids'])) + collection_formats['policy_ids'] = 'csv' + if 'policy_names' in params: + query_params.append(('policy_names', params['policy_names'])) + collection_formats['policy_names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'rules' in params: + body_params = params['rules'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/policies/nfs/client-rules', 'POST', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='PolicyRuleNfsClientResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_policies_nfs_delete_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + ids=None, # type: List[str] + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """Delete NFS policies + + Deletes one or more NFS policies. The `ids` or `names` parameter is required, but they cannot be set together. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_policies_nfs_delete_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] ids: Performs the operation on the unique resource IDs specified. Enter multiple resource IDs in comma-separated format. The `ids` or `names` parameter is required, but they cannot be set together. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: None + If the method is called asynchronously, + returns the request thread. + """ + if ids is not None: + if not isinstance(ids, list): + ids = [ids] + if names is not None: + if not isinstance(names, list): + names = [names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + collection_formats = {} + path_params = {} + + query_params = [] + if 'ids' in params: + query_params.append(('ids', params['ids'])) + collection_formats['ids'] = 'csv' + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/policies/nfs', 'DELETE', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type=None, + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_policies_nfs_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + destroyed=None, # type: bool + filter=None, # type: str + ids=None, # type: List[str] + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PolicyNfsGetResponse + """List NFS policies + + Displays a list of NFS policies. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_policies_nfs_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str continuation_token: A token used to retrieve the next page of data with some consistency guaranteed. The token is a Base64 encoded value. Set `continuation_token` to the system-generated token taken from the `x-next-token` header field of the response. A query has reached its last page when the response does not include a token. Pagination requires the `limit` and `continuation_token` query parameters. + :param bool destroyed: If set to `true`, lists only destroyed objects that are in the eradication pending state. If set to `false`, lists only objects that are not destroyed. For destroyed objects, the time remaining is displayed in milliseconds. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param list[str] ids: Performs the operation on the unique resource IDs specified. Enter multiple resource IDs in comma-separated format. The `ids` or `names` parameter is required, but they cannot be set together. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: PolicyNfsGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if ids is not None: + if not isinstance(ids, list): + ids = [ids] + if names is not None: + if not isinstance(names, list): + names = [names] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_policies_nfs_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_policies_nfs_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'continuation_token' in params: + query_params.append(('continuation_token', params['continuation_token'])) + if 'destroyed' in params: + query_params.append(('destroyed', params['destroyed'])) + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'ids' in params: + query_params.append(('ids', params['ids'])) + collection_formats['ids'] = 'csv' + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/policies/nfs', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='PolicyNfsGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_policies_nfs_members_delete_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + member_ids=None, # type: List[str] + member_names=None, # type: List[str] + member_types=None, # type: List[str] + policy_ids=None, # type: List[str] + policy_names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """Delete NFS policies + + Deletes one or more NFS policies from resources. The `policy_ids` or `policy_names` parameter is required, but cannot be set together. The `member_ids` or `member_names` parameter is required, but cannot be set together. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_policies_nfs_members_delete_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] member_ids: Performs the operation on the unique member IDs specified. Enter multiple member IDs in comma-separated format. The `member_ids` or `member_names` parameter is required, but they cannot be set together. + :param list[str] member_names: Performs the operation on the unique member name specified. Examples of members include volumes, hosts, host groups, and directories. Enter multiple names in comma-separated format. For example, `vol01,vol02`. + :param list[str] member_types: Performs the operation on the member types specified. The type of member is the full name of the resource endpoint. Valid values include `directories`. Enter multiple member types in comma-separated format. For example, `type01,type02`. + :param list[str] policy_ids: Performs the operation on the unique policy IDs specified. Enter multiple policy IDs in comma-separated format. The `policy_ids` or `policy_names` parameter is required, but they cannot be set together. + :param list[str] policy_names: Performs the operation on the policy names specified. Enter multiple policy names in comma-separated format. For example, `name01,name02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: None + If the method is called asynchronously, + returns the request thread. + """ + if member_ids is not None: + if not isinstance(member_ids, list): + member_ids = [member_ids] + if member_names is not None: + if not isinstance(member_names, list): + member_names = [member_names] + if member_types is not None: + if not isinstance(member_types, list): + member_types = [member_types] + if policy_ids is not None: + if not isinstance(policy_ids, list): + policy_ids = [policy_ids] + if policy_names is not None: + if not isinstance(policy_names, list): + policy_names = [policy_names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + collection_formats = {} + path_params = {} + + query_params = [] + if 'member_ids' in params: + query_params.append(('member_ids', params['member_ids'])) + collection_formats['member_ids'] = 'csv' + if 'member_names' in params: + query_params.append(('member_names', params['member_names'])) + collection_formats['member_names'] = 'csv' + if 'member_types' in params: + query_params.append(('member_types', params['member_types'])) + collection_formats['member_types'] = 'csv' + if 'policy_ids' in params: + query_params.append(('policy_ids', params['policy_ids'])) + collection_formats['policy_ids'] = 'csv' + if 'policy_names' in params: + query_params.append(('policy_names', params['policy_names'])) + collection_formats['policy_names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/policies/nfs/members', 'DELETE', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type=None, + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_policies_nfs_members_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + destroyed=None, # type: bool + filter=None, # type: str + limit=None, # type: int + member_ids=None, # type: List[str] + member_names=None, # type: List[str] + member_types=None, # type: List[str] + policy_ids=None, # type: List[str] + policy_names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PolicyMemberExportGetResponse + """List NFS policy members + + Displays a list of NFS policy members. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_policies_nfs_members_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str continuation_token: A token used to retrieve the next page of data with some consistency guaranteed. The token is a Base64 encoded value. Set `continuation_token` to the system-generated token taken from the `x-next-token` header field of the response. A query has reached its last page when the response does not include a token. Pagination requires the `limit` and `continuation_token` query parameters. + :param bool destroyed: If set to `true`, lists only destroyed objects that are in the eradication pending state. If set to `false`, lists only objects that are not destroyed. For destroyed objects, the time remaining is displayed in milliseconds. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param list[str] member_ids: Performs the operation on the unique member IDs specified. Enter multiple member IDs in comma-separated format. The `member_ids` or `member_names` parameter is required, but they cannot be set together. + :param list[str] member_names: Performs the operation on the unique member name specified. Examples of members include volumes, hosts, host groups, and directories. Enter multiple names in comma-separated format. For example, `vol01,vol02`. + :param list[str] member_types: Performs the operation on the member types specified. The type of member is the full name of the resource endpoint. Valid values include `directories`. Enter multiple member types in comma-separated format. For example, `type01,type02`. + :param list[str] policy_ids: Performs the operation on the unique policy IDs specified. Enter multiple policy IDs in comma-separated format. The `policy_ids` or `policy_names` parameter is required, but they cannot be set together. + :param list[str] policy_names: Performs the operation on the policy names specified. Enter multiple policy names in comma-separated format. For example, `name01,name02`. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: PolicyMemberExportGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if member_ids is not None: + if not isinstance(member_ids, list): + member_ids = [member_ids] + if member_names is not None: + if not isinstance(member_names, list): + member_names = [member_names] + if member_types is not None: + if not isinstance(member_types, list): + member_types = [member_types] + if policy_ids is not None: + if not isinstance(policy_ids, list): + policy_ids = [policy_ids] + if policy_names is not None: + if not isinstance(policy_names, list): + policy_names = [policy_names] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_policies_nfs_members_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_policies_nfs_members_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'continuation_token' in params: + query_params.append(('continuation_token', params['continuation_token'])) + if 'destroyed' in params: + query_params.append(('destroyed', params['destroyed'])) + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'member_ids' in params: + query_params.append(('member_ids', params['member_ids'])) + collection_formats['member_ids'] = 'csv' + if 'member_names' in params: + query_params.append(('member_names', params['member_names'])) + collection_formats['member_names'] = 'csv' + if 'member_types' in params: + query_params.append(('member_types', params['member_types'])) + collection_formats['member_types'] = 'csv' + if 'policy_ids' in params: + query_params.append(('policy_ids', params['policy_ids'])) + collection_formats['policy_ids'] = 'csv' + if 'policy_names' in params: + query_params.append(('policy_names', params['policy_names'])) + collection_formats['policy_names'] = 'csv' + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/policies/nfs/members', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='PolicyMemberExportGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_policies_nfs_members_post_with_http_info( + self, + members=None, # type: models.PolicyMemberExportPost + authorization=None, # type: str + x_request_id=None, # type: str + policy_ids=None, # type: List[str] + policy_names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PolicyMemberExportResponse + """Create NFS policies + + Creates a membership between one or more resources and an NFS policy. Applicable resources are directories. The `policy_ids` or `policy_names` parameter is required, but cannot be set together. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_policies_nfs_members_post_with_http_info(members, async_req=True) + >>> result = thread.get() + + :param PolicyMemberExportPost members: (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] policy_ids: Performs the operation on the unique policy IDs specified. Enter multiple policy IDs in comma-separated format. The `policy_ids` or `policy_names` parameter is required, but they cannot be set together. + :param list[str] policy_names: Performs the operation on the policy names specified. Enter multiple policy names in comma-separated format. For example, `name01,name02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: PolicyMemberExportResponse + If the method is called asynchronously, + returns the request thread. + """ + if policy_ids is not None: + if not isinstance(policy_ids, list): + policy_ids = [policy_ids] + if policy_names is not None: + if not isinstance(policy_names, list): + policy_names = [policy_names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'members' is set + if members is None: + raise TypeError("Missing the required parameter `members` when calling `api226_policies_nfs_members_post`") + + collection_formats = {} + path_params = {} + + query_params = [] + if 'policy_ids' in params: + query_params.append(('policy_ids', params['policy_ids'])) + collection_formats['policy_ids'] = 'csv' + if 'policy_names' in params: + query_params.append(('policy_names', params['policy_names'])) + collection_formats['policy_names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'members' in params: + body_params = params['members'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/policies/nfs/members', 'POST', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='PolicyMemberExportResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_policies_nfs_patch_with_http_info( + self, + policy=None, # type: models.PolicyNfsPatch + authorization=None, # type: str + x_request_id=None, # type: str + ids=None, # type: List[str] + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PolicyNfsResponse + """Modify NFS policies + + Modifies one or more NFS policies. To enable a policy, set `enabled=true`. To disable a policy, set `enabled=false`. To rename a policy, set `name` to the new name. The `ids` or `names` parameter is required, but they cannot be set together. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_policies_nfs_patch_with_http_info(policy, async_req=True) + >>> result = thread.get() + + :param PolicyNfsPatch policy: (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] ids: Performs the operation on the unique resource IDs specified. Enter multiple resource IDs in comma-separated format. The `ids` or `names` parameter is required, but they cannot be set together. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: PolicyNfsResponse + If the method is called asynchronously, + returns the request thread. + """ + if ids is not None: + if not isinstance(ids, list): + ids = [ids] + if names is not None: + if not isinstance(names, list): + names = [names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'policy' is set + if policy is None: + raise TypeError("Missing the required parameter `policy` when calling `api226_policies_nfs_patch`") + + collection_formats = {} + path_params = {} + + query_params = [] + if 'ids' in params: + query_params.append(('ids', params['ids'])) + collection_formats['ids'] = 'csv' + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'policy' in params: + body_params = params['policy'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/policies/nfs', 'PATCH', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='PolicyNfsResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_policies_nfs_post_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + source_ids=None, # type: List[str] + source_names=None, # type: List[str] + policy=None, # type: models.PolicyNfsPost + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PolicyNfsResponse + """Create NFS policies + + Creates one or more NFS policies or copies an existing policy. To copy a policy, the `source_names` or `source_ids` parameter is required, but they cannot be set together. To create a policy, policy body is required. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_policies_nfs_post_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param list[str] source_ids: Performs the operation on the source ID specified. Enter multiple source IDs in comma-separated format. + :param list[str] source_names: Performs the operation on the source name specified. Enter multiple source names in comma-separated format. For example, `name01,name02`. + :param PolicyNfsPost policy: + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: PolicyNfsResponse + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + if source_ids is not None: + if not isinstance(source_ids, list): + source_ids = [source_ids] + if source_names is not None: + if not isinstance(source_names, list): + source_names = [source_names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + collection_formats = {} + path_params = {} + + query_params = [] + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'source_ids' in params: + query_params.append(('source_ids', params['source_ids'])) + collection_formats['source_ids'] = 'csv' + if 'source_names' in params: + query_params.append(('source_names', params['source_names'])) + collection_formats['source_names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'policy' in params: + body_params = params['policy'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/policies/nfs', 'POST', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='PolicyNfsResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_policies_quota_delete_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + ids=None, # type: List[str] + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """Delete quota policies + + Deletes one or more quota policies. The `ids` or `names` parameter is required, but they cannot be set together. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_policies_quota_delete_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] ids: Performs the operation on the unique resource IDs specified. Enter multiple resource IDs in comma-separated format. The `ids` or `names` parameter is required, but they cannot be set together. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: None + If the method is called asynchronously, + returns the request thread. + """ + if ids is not None: + if not isinstance(ids, list): + ids = [ids] + if names is not None: + if not isinstance(names, list): + names = [names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + collection_formats = {} + path_params = {} + + query_params = [] + if 'ids' in params: + query_params.append(('ids', params['ids'])) + collection_formats['ids'] = 'csv' + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/policies/quota', 'DELETE', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type=None, + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_policies_quota_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + destroyed=None, # type: bool + filter=None, # type: str + ids=None, # type: List[str] + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PolicyGetResponse + """List quota policies + + Displays a list of quota policies. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_policies_quota_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str continuation_token: A token used to retrieve the next page of data with some consistency guaranteed. The token is a Base64 encoded value. Set `continuation_token` to the system-generated token taken from the `x-next-token` header field of the response. A query has reached its last page when the response does not include a token. Pagination requires the `limit` and `continuation_token` query parameters. + :param bool destroyed: If set to `true`, lists only destroyed objects that are in the eradication pending state. If set to `false`, lists only objects that are not destroyed. For destroyed objects, the time remaining is displayed in milliseconds. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param list[str] ids: Performs the operation on the unique resource IDs specified. Enter multiple resource IDs in comma-separated format. The `ids` or `names` parameter is required, but they cannot be set together. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: PolicyGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if ids is not None: + if not isinstance(ids, list): + ids = [ids] + if names is not None: + if not isinstance(names, list): + names = [names] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_policies_quota_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_policies_quota_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'continuation_token' in params: + query_params.append(('continuation_token', params['continuation_token'])) + if 'destroyed' in params: + query_params.append(('destroyed', params['destroyed'])) + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'ids' in params: + query_params.append(('ids', params['ids'])) + collection_formats['ids'] = 'csv' + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/policies/quota', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='PolicyGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_policies_quota_members_delete_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + member_ids=None, # type: List[str] + member_names=None, # type: List[str] + member_types=None, # type: List[str] + policy_ids=None, # type: List[str] + policy_names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """Delete membership between quota policies and managed directories + + Deletes a membership between one or more quota policies and managed directories. The `policy_ids` or `policy_names` parameter is required, but cannot be set together. The `member_ids` or `member_names` parameter is required, but cannot be set together. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_policies_quota_members_delete_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] member_ids: Performs the operation on the unique member IDs specified. Enter multiple member IDs in comma-separated format. The `member_ids` or `member_names` parameter is required, but they cannot be set together. + :param list[str] member_names: Performs the operation on the unique member name specified. Examples of members include volumes, hosts, host groups, and directories. Enter multiple names in comma-separated format. For example, `vol01,vol02`. + :param list[str] member_types: Performs the operation on the member types specified. The type of member is the full name of the resource endpoint. Valid values include `directories`. Enter multiple member types in comma-separated format. For example, `type01,type02`. + :param list[str] policy_ids: Performs the operation on the unique policy IDs specified. Enter multiple policy IDs in comma-separated format. The `policy_ids` or `policy_names` parameter is required, but they cannot be set together. + :param list[str] policy_names: Performs the operation on the policy names specified. Enter multiple policy names in comma-separated format. For example, `name01,name02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: None + If the method is called asynchronously, + returns the request thread. + """ + if member_ids is not None: + if not isinstance(member_ids, list): + member_ids = [member_ids] + if member_names is not None: + if not isinstance(member_names, list): + member_names = [member_names] + if member_types is not None: + if not isinstance(member_types, list): + member_types = [member_types] + if policy_ids is not None: + if not isinstance(policy_ids, list): + policy_ids = [policy_ids] + if policy_names is not None: + if not isinstance(policy_names, list): + policy_names = [policy_names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + collection_formats = {} + path_params = {} + + query_params = [] + if 'member_ids' in params: + query_params.append(('member_ids', params['member_ids'])) + collection_formats['member_ids'] = 'csv' + if 'member_names' in params: + query_params.append(('member_names', params['member_names'])) + collection_formats['member_names'] = 'csv' + if 'member_types' in params: + query_params.append(('member_types', params['member_types'])) + collection_formats['member_types'] = 'csv' + if 'policy_ids' in params: + query_params.append(('policy_ids', params['policy_ids'])) + collection_formats['policy_ids'] = 'csv' + if 'policy_names' in params: + query_params.append(('policy_names', params['policy_names'])) + collection_formats['policy_names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/policies/quota/members', 'DELETE', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type=None, + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_policies_quota_members_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + destroyed=None, # type: bool + filter=None, # type: str + limit=None, # type: int + member_ids=None, # type: List[str] + member_names=None, # type: List[str] + member_types=None, # type: List[str] + policy_ids=None, # type: List[str] + policy_names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PolicyMemberGetResponse + """List quota policy members + + Displays a list of quota policy members. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_policies_quota_members_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str continuation_token: A token used to retrieve the next page of data with some consistency guaranteed. The token is a Base64 encoded value. Set `continuation_token` to the system-generated token taken from the `x-next-token` header field of the response. A query has reached its last page when the response does not include a token. Pagination requires the `limit` and `continuation_token` query parameters. + :param bool destroyed: If set to `true`, lists only destroyed objects that are in the eradication pending state. If set to `false`, lists only objects that are not destroyed. For destroyed objects, the time remaining is displayed in milliseconds. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param list[str] member_ids: Performs the operation on the unique member IDs specified. Enter multiple member IDs in comma-separated format. The `member_ids` or `member_names` parameter is required, but they cannot be set together. + :param list[str] member_names: Performs the operation on the unique member name specified. Examples of members include volumes, hosts, host groups, and directories. Enter multiple names in comma-separated format. For example, `vol01,vol02`. + :param list[str] member_types: Performs the operation on the member types specified. The type of member is the full name of the resource endpoint. Valid values include `directories`. Enter multiple member types in comma-separated format. For example, `type01,type02`. + :param list[str] policy_ids: Performs the operation on the unique policy IDs specified. Enter multiple policy IDs in comma-separated format. The `policy_ids` or `policy_names` parameter is required, but they cannot be set together. + :param list[str] policy_names: Performs the operation on the policy names specified. Enter multiple policy names in comma-separated format. For example, `name01,name02`. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: PolicyMemberGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if member_ids is not None: + if not isinstance(member_ids, list): + member_ids = [member_ids] + if member_names is not None: + if not isinstance(member_names, list): + member_names = [member_names] + if member_types is not None: + if not isinstance(member_types, list): + member_types = [member_types] + if policy_ids is not None: + if not isinstance(policy_ids, list): + policy_ids = [policy_ids] + if policy_names is not None: + if not isinstance(policy_names, list): + policy_names = [policy_names] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_policies_quota_members_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_policies_quota_members_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'continuation_token' in params: + query_params.append(('continuation_token', params['continuation_token'])) + if 'destroyed' in params: + query_params.append(('destroyed', params['destroyed'])) + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'member_ids' in params: + query_params.append(('member_ids', params['member_ids'])) + collection_formats['member_ids'] = 'csv' + if 'member_names' in params: + query_params.append(('member_names', params['member_names'])) + collection_formats['member_names'] = 'csv' + if 'member_types' in params: + query_params.append(('member_types', params['member_types'])) + collection_formats['member_types'] = 'csv' + if 'policy_ids' in params: + query_params.append(('policy_ids', params['policy_ids'])) + collection_formats['policy_ids'] = 'csv' + if 'policy_names' in params: + query_params.append(('policy_names', params['policy_names'])) + collection_formats['policy_names'] = 'csv' + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/policies/quota/members', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='PolicyMemberGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_policies_quota_members_post_with_http_info( + self, + members=None, # type: models.PolicyMemberPost + authorization=None, # type: str + x_request_id=None, # type: str + policy_ids=None, # type: List[str] + policy_names=None, # type: List[str] + ignore_usage=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PolicyMemberResponse + """Create a membership between a managed directory and a quota policy + + Creates a membership between one or more managed directories and a quota policy. The `policy_ids` or `policy_names` parameter is required, but cannot be set together. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_policies_quota_members_post_with_http_info(members, async_req=True) + >>> result = thread.get() + + :param PolicyMemberPost members: (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] policy_ids: Performs the operation on the unique policy IDs specified. Enter multiple policy IDs in comma-separated format. The `policy_ids` or `policy_names` parameter is required, but they cannot be set together. + :param list[str] policy_names: Performs the operation on the policy names specified. Enter multiple policy names in comma-separated format. For example, `name01,name02`. + :param bool ignore_usage: Flag used to override checks for quota management operations. If set to `true`, directory usage is not checked against the `quota_limits` that are set. If set to `false`, the actual logical bytes in use are prevented from exceeding the limits set on the directory. Client operations might be impacted. If the limit exceeds the quota, the client operation is not allowed. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: PolicyMemberResponse + If the method is called asynchronously, + returns the request thread. + """ + if policy_ids is not None: + if not isinstance(policy_ids, list): + policy_ids = [policy_ids] + if policy_names is not None: + if not isinstance(policy_names, list): + policy_names = [policy_names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'members' is set + if members is None: + raise TypeError("Missing the required parameter `members` when calling `api226_policies_quota_members_post`") + + collection_formats = {} + path_params = {} + + query_params = [] + if 'policy_ids' in params: + query_params.append(('policy_ids', params['policy_ids'])) + collection_formats['policy_ids'] = 'csv' + if 'policy_names' in params: + query_params.append(('policy_names', params['policy_names'])) + collection_formats['policy_names'] = 'csv' + if 'ignore_usage' in params: + query_params.append(('ignore_usage', params['ignore_usage'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'members' in params: + body_params = params['members'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/policies/quota/members', 'POST', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='PolicyMemberResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_policies_quota_patch_with_http_info( + self, + policy=None, # type: models.PolicyPatch + authorization=None, # type: str + x_request_id=None, # type: str + ids=None, # type: List[str] + names=None, # type: List[str] + ignore_usage=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PolicyResponse + """Modify quota policies + + Modifies one or more quota policies. To enable a policy, set `enabled=true`. To disable a policy, set `enabled=false`. To rename a policy, set `name` to the new name. The `ids` or `names` parameter is required, but they cannot be set together. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_policies_quota_patch_with_http_info(policy, async_req=True) + >>> result = thread.get() + + :param PolicyPatch policy: (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] ids: Performs the operation on the unique resource IDs specified. Enter multiple resource IDs in comma-separated format. The `ids` or `names` parameter is required, but they cannot be set together. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param bool ignore_usage: Flag used to override checks for quota management operations. If set to `true`, directory usage is not checked against the `quota_limits` that are set. If set to `false`, the actual logical bytes in use are prevented from exceeding the limits set on the directory. Client operations might be impacted. If the limit exceeds the quota, the client operation is not allowed. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: PolicyResponse + If the method is called asynchronously, + returns the request thread. + """ + if ids is not None: + if not isinstance(ids, list): + ids = [ids] + if names is not None: + if not isinstance(names, list): + names = [names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'policy' is set + if policy is None: + raise TypeError("Missing the required parameter `policy` when calling `api226_policies_quota_patch`") + + collection_formats = {} + path_params = {} + + query_params = [] + if 'ids' in params: + query_params.append(('ids', params['ids'])) + collection_formats['ids'] = 'csv' + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'ignore_usage' in params: + query_params.append(('ignore_usage', params['ignore_usage'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'policy' in params: + body_params = params['policy'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/policies/quota', 'PATCH', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='PolicyResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_policies_quota_post_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + source_ids=None, # type: List[str] + source_names=None, # type: List[str] + policy=None, # type: models.PolicyPost + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PolicyResponse + """Create quota policies + + Creates one or more quota policies. To copy a policy, the `source_names` or `source_ids` parameter is required, but they cannot be set together. To create a policy from scratch, policy body is required. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_policies_quota_post_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param list[str] source_ids: Performs the operation on the source ID specified. Enter multiple source IDs in comma-separated format. + :param list[str] source_names: Performs the operation on the source name specified. Enter multiple source names in comma-separated format. For example, `name01,name02`. + :param PolicyPost policy: + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: PolicyResponse + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + if source_ids is not None: + if not isinstance(source_ids, list): + source_ids = [source_ids] + if source_names is not None: + if not isinstance(source_names, list): + source_names = [source_names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + collection_formats = {} + path_params = {} + + query_params = [] + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'source_ids' in params: + query_params.append(('source_ids', params['source_ids'])) + collection_formats['source_ids'] = 'csv' + if 'source_names' in params: + query_params.append(('source_names', params['source_names'])) + collection_formats['source_names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'policy' in params: + body_params = params['policy'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/policies/quota', 'POST', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='PolicyResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_policies_quota_rules_delete_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + policy_ids=None, # type: List[str] + policy_names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """Delete quota policy rules + + Deletes one or more quota policy rules. The `policy_ids` or `policy_names` parameter is required, but they cannot be set together. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_policies_quota_rules_delete_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param list[str] policy_ids: Performs the operation on the unique policy IDs specified. Enter multiple policy IDs in comma-separated format. The `policy_ids` or `policy_names` parameter is required, but they cannot be set together. + :param list[str] policy_names: Performs the operation on the policy names specified. Enter multiple policy names in comma-separated format. For example, `name01,name02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: None + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + if policy_ids is not None: + if not isinstance(policy_ids, list): + policy_ids = [policy_ids] + if policy_names is not None: + if not isinstance(policy_names, list): + policy_names = [policy_names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + collection_formats = {} + path_params = {} + + query_params = [] + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'policy_ids' in params: + query_params.append(('policy_ids', params['policy_ids'])) + collection_formats['policy_ids'] = 'csv' + if 'policy_names' in params: + query_params.append(('policy_names', params['policy_names'])) + collection_formats['policy_names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/policies/quota/rules', 'DELETE', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type=None, + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_policies_quota_rules_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + destroyed=None, # type: bool + filter=None, # type: str + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + policy_ids=None, # type: List[str] + policy_names=None, # type: List[str] + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PolicyRuleQuotaGetResponse + """List quota policy rules + + Displays a list of quota policy rules. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_policies_quota_rules_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str continuation_token: A token used to retrieve the next page of data with some consistency guaranteed. The token is a Base64 encoded value. Set `continuation_token` to the system-generated token taken from the `x-next-token` header field of the response. A query has reached its last page when the response does not include a token. Pagination requires the `limit` and `continuation_token` query parameters. + :param bool destroyed: If set to `true`, lists only destroyed objects that are in the eradication pending state. If set to `false`, lists only objects that are not destroyed. For destroyed objects, the time remaining is displayed in milliseconds. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] policy_ids: Performs the operation on the unique policy IDs specified. Enter multiple policy IDs in comma-separated format. The `policy_ids` or `policy_names` parameter is required, but they cannot be set together. + :param list[str] policy_names: Performs the operation on the policy names specified. Enter multiple policy names in comma-separated format. For example, `name01,name02`. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: PolicyRuleQuotaGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + if policy_ids is not None: + if not isinstance(policy_ids, list): + policy_ids = [policy_ids] + if policy_names is not None: + if not isinstance(policy_names, list): + policy_names = [policy_names] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_policies_quota_rules_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_policies_quota_rules_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'continuation_token' in params: + query_params.append(('continuation_token', params['continuation_token'])) + if 'destroyed' in params: + query_params.append(('destroyed', params['destroyed'])) + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'policy_ids' in params: + query_params.append(('policy_ids', params['policy_ids'])) + collection_formats['policy_ids'] = 'csv' + if 'policy_names' in params: + query_params.append(('policy_names', params['policy_names'])) + collection_formats['policy_names'] = 'csv' + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/policies/quota/rules', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='PolicyRuleQuotaGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_policies_quota_rules_patch_with_http_info( + self, + rules=None, # type: models.PolicyRuleQuotaPatch + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + policy_ids=None, # type: List[str] + policy_names=None, # type: List[str] + ignore_usage=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PolicyRuleQuotaResponse + """Modify quota policy rules + + Modifies quota policy rules. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_policies_quota_rules_patch_with_http_info(rules, async_req=True) + >>> result = thread.get() + + :param PolicyRuleQuotaPatch rules: (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param list[str] policy_ids: Performs the operation on the unique policy IDs specified. Enter multiple policy IDs in comma-separated format. The `policy_ids` or `policy_names` parameter is required, but they cannot be set together. + :param list[str] policy_names: Performs the operation on the policy names specified. Enter multiple policy names in comma-separated format. For example, `name01,name02`. + :param bool ignore_usage: Flag used to override checks for quota management operations. If set to `true`, directory usage is not checked against the `quota_limits` that are set. If set to `false`, the actual logical bytes in use are prevented from exceeding the limits set on the directory. Client operations might be impacted. If the limit exceeds the quota, the client operation is not allowed. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: PolicyRuleQuotaResponse + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + if policy_ids is not None: + if not isinstance(policy_ids, list): + policy_ids = [policy_ids] + if policy_names is not None: + if not isinstance(policy_names, list): + policy_names = [policy_names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'rules' is set + if rules is None: + raise TypeError("Missing the required parameter `rules` when calling `api226_policies_quota_rules_patch`") + + collection_formats = {} + path_params = {} + + query_params = [] + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'policy_ids' in params: + query_params.append(('policy_ids', params['policy_ids'])) + collection_formats['policy_ids'] = 'csv' + if 'policy_names' in params: + query_params.append(('policy_names', params['policy_names'])) + collection_formats['policy_names'] = 'csv' + if 'ignore_usage' in params: + query_params.append(('ignore_usage', params['ignore_usage'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'rules' in params: + body_params = params['rules'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/policies/quota/rules', 'PATCH', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='PolicyRuleQuotaResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_policies_quota_rules_post_with_http_info( + self, + rules=None, # type: models.PolicyRuleQuotaPost + authorization=None, # type: str + x_request_id=None, # type: str + policy_ids=None, # type: List[str] + policy_names=None, # type: List[str] + ignore_usage=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PolicyRuleQuotaResponse + """Create quota policy rules + + Creates one or more quota policy rules. The `policy_ids` or `policy_names` parameter is required, but cannot be set together. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_policies_quota_rules_post_with_http_info(rules, async_req=True) + >>> result = thread.get() + + :param PolicyRuleQuotaPost rules: (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] policy_ids: Performs the operation on the unique policy IDs specified. Enter multiple policy IDs in comma-separated format. The `policy_ids` or `policy_names` parameter is required, but they cannot be set together. + :param list[str] policy_names: Performs the operation on the policy names specified. Enter multiple policy names in comma-separated format. For example, `name01,name02`. + :param bool ignore_usage: Flag used to override checks for quota management operations. If set to `true`, directory usage is not checked against the `quota_limits` that are set. If set to `false`, the actual logical bytes in use are prevented from exceeding the limits set on the directory. Client operations might be impacted. If the limit exceeds the quota, the client operation is not allowed. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: PolicyRuleQuotaResponse + If the method is called asynchronously, + returns the request thread. + """ + if policy_ids is not None: + if not isinstance(policy_ids, list): + policy_ids = [policy_ids] + if policy_names is not None: + if not isinstance(policy_names, list): + policy_names = [policy_names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'rules' is set + if rules is None: + raise TypeError("Missing the required parameter `rules` when calling `api226_policies_quota_rules_post`") + + collection_formats = {} + path_params = {} + + query_params = [] + if 'policy_ids' in params: + query_params.append(('policy_ids', params['policy_ids'])) + collection_formats['policy_ids'] = 'csv' + if 'policy_names' in params: + query_params.append(('policy_names', params['policy_names'])) + collection_formats['policy_names'] = 'csv' + if 'ignore_usage' in params: + query_params.append(('ignore_usage', params['ignore_usage'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'rules' in params: + body_params = params['rules'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/policies/quota/rules', 'POST', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='PolicyRuleQuotaResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_policies_smb_client_rules_delete_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + policy_ids=None, # type: List[str] + policy_names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """Delete SMB client policy rules. + + Deletes one or more SMB client policy rules. The `policy_ids` or `policy_names` parameter is required, but they cannot be set together. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_policies_smb_client_rules_delete_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param list[str] policy_ids: Performs the operation on the unique policy IDs specified. Enter multiple policy IDs in comma-separated format. The `policy_ids` or `policy_names` parameter is required, but they cannot be set together. + :param list[str] policy_names: Performs the operation on the policy names specified. Enter multiple policy names in comma-separated format. For example, `name01,name02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: None + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + if policy_ids is not None: + if not isinstance(policy_ids, list): + policy_ids = [policy_ids] + if policy_names is not None: + if not isinstance(policy_names, list): + policy_names = [policy_names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + collection_formats = {} + path_params = {} + + query_params = [] + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'policy_ids' in params: + query_params.append(('policy_ids', params['policy_ids'])) + collection_formats['policy_ids'] = 'csv' + if 'policy_names' in params: + query_params.append(('policy_names', params['policy_names'])) + collection_formats['policy_names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/policies/smb/client-rules', 'DELETE', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type=None, + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_policies_smb_client_rules_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + destroyed=None, # type: bool + filter=None, # type: str + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + policy_ids=None, # type: List[str] + policy_names=None, # type: List[str] + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PolicyRuleSmbClientGetResponse + """List SMB client policy rules + + Displays a list of SMB client policy rules. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_policies_smb_client_rules_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str continuation_token: A token used to retrieve the next page of data with some consistency guaranteed. The token is a Base64 encoded value. Set `continuation_token` to the system-generated token taken from the `x-next-token` header field of the response. A query has reached its last page when the response does not include a token. Pagination requires the `limit` and `continuation_token` query parameters. + :param bool destroyed: If set to `true`, lists only destroyed objects that are in the eradication pending state. If set to `false`, lists only objects that are not destroyed. For destroyed objects, the time remaining is displayed in milliseconds. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] policy_ids: Performs the operation on the unique policy IDs specified. Enter multiple policy IDs in comma-separated format. The `policy_ids` or `policy_names` parameter is required, but they cannot be set together. + :param list[str] policy_names: Performs the operation on the policy names specified. Enter multiple policy names in comma-separated format. For example, `name01,name02`. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: PolicyRuleSmbClientGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + if policy_ids is not None: + if not isinstance(policy_ids, list): + policy_ids = [policy_ids] + if policy_names is not None: + if not isinstance(policy_names, list): + policy_names = [policy_names] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_policies_smb_client_rules_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_policies_smb_client_rules_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'continuation_token' in params: + query_params.append(('continuation_token', params['continuation_token'])) + if 'destroyed' in params: + query_params.append(('destroyed', params['destroyed'])) + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'policy_ids' in params: + query_params.append(('policy_ids', params['policy_ids'])) + collection_formats['policy_ids'] = 'csv' + if 'policy_names' in params: + query_params.append(('policy_names', params['policy_names'])) + collection_formats['policy_names'] = 'csv' + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/policies/smb/client-rules', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='PolicyRuleSmbClientGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_policies_smb_client_rules_post_with_http_info( + self, + rules=None, # type: models.PolicyRuleSmbClientPost + authorization=None, # type: str + x_request_id=None, # type: str + policy_ids=None, # type: List[str] + policy_names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PolicyRuleSmbClientResponse + """Create SMB client policy rules + + Creates one or more SMB client policy rules. The `policy_ids` or `policy_names` parameter is required, but cannot be set together. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_policies_smb_client_rules_post_with_http_info(rules, async_req=True) + >>> result = thread.get() + + :param PolicyRuleSmbClientPost rules: (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] policy_ids: Performs the operation on the unique policy IDs specified. Enter multiple policy IDs in comma-separated format. The `policy_ids` or `policy_names` parameter is required, but they cannot be set together. + :param list[str] policy_names: Performs the operation on the policy names specified. Enter multiple policy names in comma-separated format. For example, `name01,name02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: PolicyRuleSmbClientResponse + If the method is called asynchronously, + returns the request thread. + """ + if policy_ids is not None: + if not isinstance(policy_ids, list): + policy_ids = [policy_ids] + if policy_names is not None: + if not isinstance(policy_names, list): + policy_names = [policy_names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'rules' is set + if rules is None: + raise TypeError("Missing the required parameter `rules` when calling `api226_policies_smb_client_rules_post`") + + collection_formats = {} + path_params = {} + + query_params = [] + if 'policy_ids' in params: + query_params.append(('policy_ids', params['policy_ids'])) + collection_formats['policy_ids'] = 'csv' + if 'policy_names' in params: + query_params.append(('policy_names', params['policy_names'])) + collection_formats['policy_names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'rules' in params: + body_params = params['rules'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/policies/smb/client-rules', 'POST', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='PolicyRuleSmbClientResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_policies_smb_delete_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + ids=None, # type: List[str] + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """Delete SMB policies + + Deletes one or more SMB policies. The `ids` or `names` parameter is required, but they cannot be set together. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_policies_smb_delete_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] ids: Performs the operation on the unique resource IDs specified. Enter multiple resource IDs in comma-separated format. The `ids` or `names` parameter is required, but they cannot be set together. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: None + If the method is called asynchronously, + returns the request thread. + """ + if ids is not None: + if not isinstance(ids, list): + ids = [ids] + if names is not None: + if not isinstance(names, list): + names = [names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + collection_formats = {} + path_params = {} + + query_params = [] + if 'ids' in params: + query_params.append(('ids', params['ids'])) + collection_formats['ids'] = 'csv' + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/policies/smb', 'DELETE', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type=None, + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_policies_smb_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + destroyed=None, # type: bool + filter=None, # type: str + ids=None, # type: List[str] + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PolicySmbGetResponse + """List SMB policies + + Displays a list of SMB policies. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_policies_smb_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str continuation_token: A token used to retrieve the next page of data with some consistency guaranteed. The token is a Base64 encoded value. Set `continuation_token` to the system-generated token taken from the `x-next-token` header field of the response. A query has reached its last page when the response does not include a token. Pagination requires the `limit` and `continuation_token` query parameters. + :param bool destroyed: If set to `true`, lists only destroyed objects that are in the eradication pending state. If set to `false`, lists only objects that are not destroyed. For destroyed objects, the time remaining is displayed in milliseconds. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param list[str] ids: Performs the operation on the unique resource IDs specified. Enter multiple resource IDs in comma-separated format. The `ids` or `names` parameter is required, but they cannot be set together. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: PolicySmbGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if ids is not None: + if not isinstance(ids, list): + ids = [ids] + if names is not None: + if not isinstance(names, list): + names = [names] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_policies_smb_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_policies_smb_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'continuation_token' in params: + query_params.append(('continuation_token', params['continuation_token'])) + if 'destroyed' in params: + query_params.append(('destroyed', params['destroyed'])) + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'ids' in params: + query_params.append(('ids', params['ids'])) + collection_formats['ids'] = 'csv' + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/policies/smb', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='PolicySmbGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_policies_smb_members_delete_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + member_ids=None, # type: List[str] + member_names=None, # type: List[str] + member_types=None, # type: List[str] + policy_ids=None, # type: List[str] + policy_names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """Delete SMB policies + + Deletes one or more SMB policies from resources. The `policy_ids` or `policy_names` parameter is required, but cannot be set together. The `member_ids` or `member_names` parameter is required, but cannot be set together. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_policies_smb_members_delete_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] member_ids: Performs the operation on the unique member IDs specified. Enter multiple member IDs in comma-separated format. The `member_ids` or `member_names` parameter is required, but they cannot be set together. + :param list[str] member_names: Performs the operation on the unique member name specified. Examples of members include volumes, hosts, host groups, and directories. Enter multiple names in comma-separated format. For example, `vol01,vol02`. + :param list[str] member_types: Performs the operation on the member types specified. The type of member is the full name of the resource endpoint. Valid values include `directories`. Enter multiple member types in comma-separated format. For example, `type01,type02`. + :param list[str] policy_ids: Performs the operation on the unique policy IDs specified. Enter multiple policy IDs in comma-separated format. The `policy_ids` or `policy_names` parameter is required, but they cannot be set together. + :param list[str] policy_names: Performs the operation on the policy names specified. Enter multiple policy names in comma-separated format. For example, `name01,name02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: None + If the method is called asynchronously, + returns the request thread. + """ + if member_ids is not None: + if not isinstance(member_ids, list): + member_ids = [member_ids] + if member_names is not None: + if not isinstance(member_names, list): + member_names = [member_names] + if member_types is not None: + if not isinstance(member_types, list): + member_types = [member_types] + if policy_ids is not None: + if not isinstance(policy_ids, list): + policy_ids = [policy_ids] + if policy_names is not None: + if not isinstance(policy_names, list): + policy_names = [policy_names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + collection_formats = {} + path_params = {} + + query_params = [] + if 'member_ids' in params: + query_params.append(('member_ids', params['member_ids'])) + collection_formats['member_ids'] = 'csv' + if 'member_names' in params: + query_params.append(('member_names', params['member_names'])) + collection_formats['member_names'] = 'csv' + if 'member_types' in params: + query_params.append(('member_types', params['member_types'])) + collection_formats['member_types'] = 'csv' + if 'policy_ids' in params: + query_params.append(('policy_ids', params['policy_ids'])) + collection_formats['policy_ids'] = 'csv' + if 'policy_names' in params: + query_params.append(('policy_names', params['policy_names'])) + collection_formats['policy_names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/policies/smb/members', 'DELETE', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type=None, + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_policies_smb_members_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + destroyed=None, # type: bool + filter=None, # type: str + limit=None, # type: int + member_ids=None, # type: List[str] + member_names=None, # type: List[str] + member_types=None, # type: List[str] + policy_ids=None, # type: List[str] + policy_names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PolicyMemberExportGetResponse + """List SMB policy members + + Displays a list of SMB policy members. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_policies_smb_members_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str continuation_token: A token used to retrieve the next page of data with some consistency guaranteed. The token is a Base64 encoded value. Set `continuation_token` to the system-generated token taken from the `x-next-token` header field of the response. A query has reached its last page when the response does not include a token. Pagination requires the `limit` and `continuation_token` query parameters. + :param bool destroyed: If set to `true`, lists only destroyed objects that are in the eradication pending state. If set to `false`, lists only objects that are not destroyed. For destroyed objects, the time remaining is displayed in milliseconds. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param list[str] member_ids: Performs the operation on the unique member IDs specified. Enter multiple member IDs in comma-separated format. The `member_ids` or `member_names` parameter is required, but they cannot be set together. + :param list[str] member_names: Performs the operation on the unique member name specified. Examples of members include volumes, hosts, host groups, and directories. Enter multiple names in comma-separated format. For example, `vol01,vol02`. + :param list[str] member_types: Performs the operation on the member types specified. The type of member is the full name of the resource endpoint. Valid values include `directories`. Enter multiple member types in comma-separated format. For example, `type01,type02`. + :param list[str] policy_ids: Performs the operation on the unique policy IDs specified. Enter multiple policy IDs in comma-separated format. The `policy_ids` or `policy_names` parameter is required, but they cannot be set together. + :param list[str] policy_names: Performs the operation on the policy names specified. Enter multiple policy names in comma-separated format. For example, `name01,name02`. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: PolicyMemberExportGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if member_ids is not None: + if not isinstance(member_ids, list): + member_ids = [member_ids] + if member_names is not None: + if not isinstance(member_names, list): + member_names = [member_names] + if member_types is not None: + if not isinstance(member_types, list): + member_types = [member_types] + if policy_ids is not None: + if not isinstance(policy_ids, list): + policy_ids = [policy_ids] + if policy_names is not None: + if not isinstance(policy_names, list): + policy_names = [policy_names] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_policies_smb_members_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_policies_smb_members_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'continuation_token' in params: + query_params.append(('continuation_token', params['continuation_token'])) + if 'destroyed' in params: + query_params.append(('destroyed', params['destroyed'])) + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'member_ids' in params: + query_params.append(('member_ids', params['member_ids'])) + collection_formats['member_ids'] = 'csv' + if 'member_names' in params: + query_params.append(('member_names', params['member_names'])) + collection_formats['member_names'] = 'csv' + if 'member_types' in params: + query_params.append(('member_types', params['member_types'])) + collection_formats['member_types'] = 'csv' + if 'policy_ids' in params: + query_params.append(('policy_ids', params['policy_ids'])) + collection_formats['policy_ids'] = 'csv' + if 'policy_names' in params: + query_params.append(('policy_names', params['policy_names'])) + collection_formats['policy_names'] = 'csv' + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/policies/smb/members', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='PolicyMemberExportGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_policies_smb_members_post_with_http_info( + self, + members=None, # type: models.PolicyMemberExportPost + authorization=None, # type: str + x_request_id=None, # type: str + policy_ids=None, # type: List[str] + policy_names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PolicyMemberExportResponse + """Create SMB policies + + Creates a membership between one or more resources and an SMB policy. Applicable resources are directories. The `policy_ids` or `policy_names` parameter is required, but cannot be set together. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_policies_smb_members_post_with_http_info(members, async_req=True) + >>> result = thread.get() + + :param PolicyMemberExportPost members: (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] policy_ids: Performs the operation on the unique policy IDs specified. Enter multiple policy IDs in comma-separated format. The `policy_ids` or `policy_names` parameter is required, but they cannot be set together. + :param list[str] policy_names: Performs the operation on the policy names specified. Enter multiple policy names in comma-separated format. For example, `name01,name02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: PolicyMemberExportResponse + If the method is called asynchronously, + returns the request thread. + """ + if policy_ids is not None: + if not isinstance(policy_ids, list): + policy_ids = [policy_ids] + if policy_names is not None: + if not isinstance(policy_names, list): + policy_names = [policy_names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'members' is set + if members is None: + raise TypeError("Missing the required parameter `members` when calling `api226_policies_smb_members_post`") + + collection_formats = {} + path_params = {} + + query_params = [] + if 'policy_ids' in params: + query_params.append(('policy_ids', params['policy_ids'])) + collection_formats['policy_ids'] = 'csv' + if 'policy_names' in params: + query_params.append(('policy_names', params['policy_names'])) + collection_formats['policy_names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'members' in params: + body_params = params['members'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/policies/smb/members', 'POST', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='PolicyMemberExportResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_policies_smb_patch_with_http_info( + self, + policy=None, # type: models.PolicySmbPatch + authorization=None, # type: str + x_request_id=None, # type: str + ids=None, # type: List[str] + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PolicySmbResponse + """Modify SMB policies + + Modifies one or more SMB policies. To enable a policy, set `enabled=true`. To disable a policy, set `enabled=false`. To enable access based enumeration, set `access_based_enumeration_enabled=true`. To disable access based enumeration, set `access_based_enumeration_enabled=false`. To rename a policy, set `name` to the new name. The `ids` or `names` parameter is required, but they cannot be set together. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_policies_smb_patch_with_http_info(policy, async_req=True) + >>> result = thread.get() + + :param PolicySmbPatch policy: (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] ids: Performs the operation on the unique resource IDs specified. Enter multiple resource IDs in comma-separated format. The `ids` or `names` parameter is required, but they cannot be set together. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: PolicySmbResponse + If the method is called asynchronously, + returns the request thread. + """ + if ids is not None: + if not isinstance(ids, list): + ids = [ids] + if names is not None: + if not isinstance(names, list): + names = [names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'policy' is set + if policy is None: + raise TypeError("Missing the required parameter `policy` when calling `api226_policies_smb_patch`") + + collection_formats = {} + path_params = {} + + query_params = [] + if 'ids' in params: + query_params.append(('ids', params['ids'])) + collection_formats['ids'] = 'csv' + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'policy' in params: + body_params = params['policy'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/policies/smb', 'PATCH', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='PolicySmbResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_policies_smb_post_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + source_ids=None, # type: List[str] + source_names=None, # type: List[str] + policy=None, # type: models.PolicySmbPost + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PolicySmbResponse + """Create SMB policies + + Creates one or more SMB policies. To copy a policy, set one of either `source_names` or `source_ids`. Each policy can only have one entry. To create a policy from scratch, policy body is required. To create an SMB policy with access based enumeration enabled, set `access_based_enumeration_enabled=true`. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_policies_smb_post_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param list[str] source_ids: Performs the operation on the source ID specified. Enter multiple source IDs in comma-separated format. + :param list[str] source_names: Performs the operation on the source name specified. Enter multiple source names in comma-separated format. For example, `name01,name02`. + :param PolicySmbPost policy: + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: PolicySmbResponse + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + if source_ids is not None: + if not isinstance(source_ids, list): + source_ids = [source_ids] + if source_names is not None: + if not isinstance(source_names, list): + source_names = [source_names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + collection_formats = {} + path_params = {} + + query_params = [] + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'source_ids' in params: + query_params.append(('source_ids', params['source_ids'])) + collection_formats['source_ids'] = 'csv' + if 'source_names' in params: + query_params.append(('source_names', params['source_names'])) + collection_formats['source_names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'policy' in params: + body_params = params['policy'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/policies/smb', 'POST', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='PolicySmbResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_policies_snapshot_delete_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + ids=None, # type: List[str] + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """Delete snapshot policies + + Deletes one or more snapshot policies. The `ids` or `names` parameter is required, but they cannot be set together. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_policies_snapshot_delete_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] ids: Performs the operation on the unique resource IDs specified. Enter multiple resource IDs in comma-separated format. The `ids` or `names` parameter is required, but they cannot be set together. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: None + If the method is called asynchronously, + returns the request thread. + """ + if ids is not None: + if not isinstance(ids, list): + ids = [ids] + if names is not None: + if not isinstance(names, list): + names = [names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + collection_formats = {} + path_params = {} + + query_params = [] + if 'ids' in params: + query_params.append(('ids', params['ids'])) + collection_formats['ids'] = 'csv' + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/policies/snapshot', 'DELETE', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type=None, + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_policies_snapshot_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + destroyed=None, # type: bool + filter=None, # type: str + ids=None, # type: List[str] + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PolicyGetResponse + """List snapshot policies + + Displays a list of snapshot policies. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_policies_snapshot_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str continuation_token: A token used to retrieve the next page of data with some consistency guaranteed. The token is a Base64 encoded value. Set `continuation_token` to the system-generated token taken from the `x-next-token` header field of the response. A query has reached its last page when the response does not include a token. Pagination requires the `limit` and `continuation_token` query parameters. + :param bool destroyed: If set to `true`, lists only destroyed objects that are in the eradication pending state. If set to `false`, lists only objects that are not destroyed. For destroyed objects, the time remaining is displayed in milliseconds. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param list[str] ids: Performs the operation on the unique resource IDs specified. Enter multiple resource IDs in comma-separated format. The `ids` or `names` parameter is required, but they cannot be set together. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: PolicyGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if ids is not None: + if not isinstance(ids, list): + ids = [ids] + if names is not None: + if not isinstance(names, list): + names = [names] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_policies_snapshot_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_policies_snapshot_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'continuation_token' in params: + query_params.append(('continuation_token', params['continuation_token'])) + if 'destroyed' in params: + query_params.append(('destroyed', params['destroyed'])) + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'ids' in params: + query_params.append(('ids', params['ids'])) + collection_formats['ids'] = 'csv' + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/policies/snapshot', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='PolicyGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_policies_snapshot_members_delete_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + member_ids=None, # type: List[str] + member_names=None, # type: List[str] + member_types=None, # type: List[str] + policy_ids=None, # type: List[str] + policy_names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """Delete snapshot policies + + Deletes one or more snapshot policies from resources. The `policy_ids` or `policy_names` parameter is required, but cannot be set together. The `member_ids` or `member_names` parameter is required, but cannot be set together. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_policies_snapshot_members_delete_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] member_ids: Performs the operation on the unique member IDs specified. Enter multiple member IDs in comma-separated format. The `member_ids` or `member_names` parameter is required, but they cannot be set together. + :param list[str] member_names: Performs the operation on the unique member name specified. Examples of members include volumes, hosts, host groups, and directories. Enter multiple names in comma-separated format. For example, `vol01,vol02`. + :param list[str] member_types: Performs the operation on the member types specified. The type of member is the full name of the resource endpoint. Valid values include `directories`. Enter multiple member types in comma-separated format. For example, `type01,type02`. + :param list[str] policy_ids: Performs the operation on the unique policy IDs specified. Enter multiple policy IDs in comma-separated format. The `policy_ids` or `policy_names` parameter is required, but they cannot be set together. + :param list[str] policy_names: Performs the operation on the policy names specified. Enter multiple policy names in comma-separated format. For example, `name01,name02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: None + If the method is called asynchronously, + returns the request thread. + """ + if member_ids is not None: + if not isinstance(member_ids, list): + member_ids = [member_ids] + if member_names is not None: + if not isinstance(member_names, list): + member_names = [member_names] + if member_types is not None: + if not isinstance(member_types, list): + member_types = [member_types] + if policy_ids is not None: + if not isinstance(policy_ids, list): + policy_ids = [policy_ids] + if policy_names is not None: + if not isinstance(policy_names, list): + policy_names = [policy_names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + collection_formats = {} + path_params = {} + + query_params = [] + if 'member_ids' in params: + query_params.append(('member_ids', params['member_ids'])) + collection_formats['member_ids'] = 'csv' + if 'member_names' in params: + query_params.append(('member_names', params['member_names'])) + collection_formats['member_names'] = 'csv' + if 'member_types' in params: + query_params.append(('member_types', params['member_types'])) + collection_formats['member_types'] = 'csv' + if 'policy_ids' in params: + query_params.append(('policy_ids', params['policy_ids'])) + collection_formats['policy_ids'] = 'csv' + if 'policy_names' in params: + query_params.append(('policy_names', params['policy_names'])) + collection_formats['policy_names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/policies/snapshot/members', 'DELETE', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type=None, + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_policies_snapshot_members_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + destroyed=None, # type: bool + filter=None, # type: str + limit=None, # type: int + member_ids=None, # type: List[str] + member_names=None, # type: List[str] + member_types=None, # type: List[str] + policy_ids=None, # type: List[str] + policy_names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PolicyMemberGetResponse + """List snapshot policy members + + Displays a list of snapshot policy members. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_policies_snapshot_members_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str continuation_token: A token used to retrieve the next page of data with some consistency guaranteed. The token is a Base64 encoded value. Set `continuation_token` to the system-generated token taken from the `x-next-token` header field of the response. A query has reached its last page when the response does not include a token. Pagination requires the `limit` and `continuation_token` query parameters. + :param bool destroyed: If set to `true`, lists only destroyed objects that are in the eradication pending state. If set to `false`, lists only objects that are not destroyed. For destroyed objects, the time remaining is displayed in milliseconds. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param list[str] member_ids: Performs the operation on the unique member IDs specified. Enter multiple member IDs in comma-separated format. The `member_ids` or `member_names` parameter is required, but they cannot be set together. + :param list[str] member_names: Performs the operation on the unique member name specified. Examples of members include volumes, hosts, host groups, and directories. Enter multiple names in comma-separated format. For example, `vol01,vol02`. + :param list[str] member_types: Performs the operation on the member types specified. The type of member is the full name of the resource endpoint. Valid values include `directories`. Enter multiple member types in comma-separated format. For example, `type01,type02`. + :param list[str] policy_ids: Performs the operation on the unique policy IDs specified. Enter multiple policy IDs in comma-separated format. The `policy_ids` or `policy_names` parameter is required, but they cannot be set together. + :param list[str] policy_names: Performs the operation on the policy names specified. Enter multiple policy names in comma-separated format. For example, `name01,name02`. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: PolicyMemberGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if member_ids is not None: + if not isinstance(member_ids, list): + member_ids = [member_ids] + if member_names is not None: + if not isinstance(member_names, list): + member_names = [member_names] + if member_types is not None: + if not isinstance(member_types, list): + member_types = [member_types] + if policy_ids is not None: + if not isinstance(policy_ids, list): + policy_ids = [policy_ids] + if policy_names is not None: + if not isinstance(policy_names, list): + policy_names = [policy_names] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_policies_snapshot_members_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_policies_snapshot_members_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'continuation_token' in params: + query_params.append(('continuation_token', params['continuation_token'])) + if 'destroyed' in params: + query_params.append(('destroyed', params['destroyed'])) + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'member_ids' in params: + query_params.append(('member_ids', params['member_ids'])) + collection_formats['member_ids'] = 'csv' + if 'member_names' in params: + query_params.append(('member_names', params['member_names'])) + collection_formats['member_names'] = 'csv' + if 'member_types' in params: + query_params.append(('member_types', params['member_types'])) + collection_formats['member_types'] = 'csv' + if 'policy_ids' in params: + query_params.append(('policy_ids', params['policy_ids'])) + collection_formats['policy_ids'] = 'csv' + if 'policy_names' in params: + query_params.append(('policy_names', params['policy_names'])) + collection_formats['policy_names'] = 'csv' + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/policies/snapshot/members', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='PolicyMemberGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_policies_snapshot_members_post_with_http_info( + self, + members=None, # type: models.PolicyMemberPost + authorization=None, # type: str + x_request_id=None, # type: str + policy_ids=None, # type: List[str] + policy_names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PolicyMemberResponse + """Create snapshot policies + + Creates a membership between one or more resources and a snapshot policy. Applicable resources are directories. The `policy_ids` or `policy_names` parameter is required, but cannot be set together. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_policies_snapshot_members_post_with_http_info(members, async_req=True) + >>> result = thread.get() + + :param PolicyMemberPost members: (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] policy_ids: Performs the operation on the unique policy IDs specified. Enter multiple policy IDs in comma-separated format. The `policy_ids` or `policy_names` parameter is required, but they cannot be set together. + :param list[str] policy_names: Performs the operation on the policy names specified. Enter multiple policy names in comma-separated format. For example, `name01,name02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: PolicyMemberResponse + If the method is called asynchronously, + returns the request thread. + """ + if policy_ids is not None: + if not isinstance(policy_ids, list): + policy_ids = [policy_ids] + if policy_names is not None: + if not isinstance(policy_names, list): + policy_names = [policy_names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'members' is set + if members is None: + raise TypeError("Missing the required parameter `members` when calling `api226_policies_snapshot_members_post`") + + collection_formats = {} + path_params = {} + + query_params = [] + if 'policy_ids' in params: + query_params.append(('policy_ids', params['policy_ids'])) + collection_formats['policy_ids'] = 'csv' + if 'policy_names' in params: + query_params.append(('policy_names', params['policy_names'])) + collection_formats['policy_names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'members' in params: + body_params = params['members'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/policies/snapshot/members', 'POST', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='PolicyMemberResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_policies_snapshot_patch_with_http_info( + self, + policy=None, # type: models.PolicyPatch + authorization=None, # type: str + x_request_id=None, # type: str + ids=None, # type: List[str] + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PolicyResponse + """Modify snapshot policies + + Modifies one or more snapshot policies. To enable a policy, set `enabled=true`. To disable a policy, set `enabled=true`. To rename a policy, set `name` to the new name. The `ids` or `names` parameter is required, but they cannot be set together. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_policies_snapshot_patch_with_http_info(policy, async_req=True) + >>> result = thread.get() + + :param PolicyPatch policy: (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] ids: Performs the operation on the unique resource IDs specified. Enter multiple resource IDs in comma-separated format. The `ids` or `names` parameter is required, but they cannot be set together. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: PolicyResponse + If the method is called asynchronously, + returns the request thread. + """ + if ids is not None: + if not isinstance(ids, list): + ids = [ids] + if names is not None: + if not isinstance(names, list): + names = [names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'policy' is set + if policy is None: + raise TypeError("Missing the required parameter `policy` when calling `api226_policies_snapshot_patch`") + + collection_formats = {} + path_params = {} + + query_params = [] + if 'ids' in params: + query_params.append(('ids', params['ids'])) + collection_formats['ids'] = 'csv' + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'policy' in params: + body_params = params['policy'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/policies/snapshot', 'PATCH', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='PolicyResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_policies_snapshot_post_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + source_ids=None, # type: List[str] + source_names=None, # type: List[str] + policy=None, # type: models.PolicyPost + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PolicyResponse + """Create snapshot policies + + Creates one or more snapshot policies. To copy a policy, set one of either `source_names` or `source_ids`. Each policy can only have one entry. To create a policy from scratch, policy body is required. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_policies_snapshot_post_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param list[str] source_ids: Performs the operation on the source ID specified. Enter multiple source IDs in comma-separated format. + :param list[str] source_names: Performs the operation on the source name specified. Enter multiple source names in comma-separated format. For example, `name01,name02`. + :param PolicyPost policy: + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: PolicyResponse + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + if source_ids is not None: + if not isinstance(source_ids, list): + source_ids = [source_ids] + if source_names is not None: + if not isinstance(source_names, list): + source_names = [source_names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + collection_formats = {} + path_params = {} + + query_params = [] + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'source_ids' in params: + query_params.append(('source_ids', params['source_ids'])) + collection_formats['source_ids'] = 'csv' + if 'source_names' in params: + query_params.append(('source_names', params['source_names'])) + collection_formats['source_names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'policy' in params: + body_params = params['policy'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/policies/snapshot', 'POST', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='PolicyResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_policies_snapshot_rules_delete_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + policy_ids=None, # type: List[str] + policy_names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """Delete snapshot policy rules + + Deletes one or more snapshot policy rules. The `policy_ids` or `policy_names` parameter is required, but cannot be set together. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_policies_snapshot_rules_delete_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param list[str] policy_ids: Performs the operation on the unique policy IDs specified. Enter multiple policy IDs in comma-separated format. The `policy_ids` or `policy_names` parameter is required, but they cannot be set together. + :param list[str] policy_names: Performs the operation on the policy names specified. Enter multiple policy names in comma-separated format. For example, `name01,name02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: None + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + if policy_ids is not None: + if not isinstance(policy_ids, list): + policy_ids = [policy_ids] + if policy_names is not None: + if not isinstance(policy_names, list): + policy_names = [policy_names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + collection_formats = {} + path_params = {} + + query_params = [] + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'policy_ids' in params: + query_params.append(('policy_ids', params['policy_ids'])) + collection_formats['policy_ids'] = 'csv' + if 'policy_names' in params: + query_params.append(('policy_names', params['policy_names'])) + collection_formats['policy_names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/policies/snapshot/rules', 'DELETE', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type=None, + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_policies_snapshot_rules_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + destroyed=None, # type: bool + filter=None, # type: str + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + policy_ids=None, # type: List[str] + policy_names=None, # type: List[str] + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PolicyRuleSnapshotGetResponse + """List snapshot policy rules + + Displays a list of snapshot policy rules. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_policies_snapshot_rules_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str continuation_token: A token used to retrieve the next page of data with some consistency guaranteed. The token is a Base64 encoded value. Set `continuation_token` to the system-generated token taken from the `x-next-token` header field of the response. A query has reached its last page when the response does not include a token. Pagination requires the `limit` and `continuation_token` query parameters. + :param bool destroyed: If set to `true`, lists only destroyed objects that are in the eradication pending state. If set to `false`, lists only objects that are not destroyed. For destroyed objects, the time remaining is displayed in milliseconds. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] policy_ids: Performs the operation on the unique policy IDs specified. Enter multiple policy IDs in comma-separated format. The `policy_ids` or `policy_names` parameter is required, but they cannot be set together. + :param list[str] policy_names: Performs the operation on the policy names specified. Enter multiple policy names in comma-separated format. For example, `name01,name02`. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: PolicyRuleSnapshotGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + if policy_ids is not None: + if not isinstance(policy_ids, list): + policy_ids = [policy_ids] + if policy_names is not None: + if not isinstance(policy_names, list): + policy_names = [policy_names] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_policies_snapshot_rules_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_policies_snapshot_rules_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'continuation_token' in params: + query_params.append(('continuation_token', params['continuation_token'])) + if 'destroyed' in params: + query_params.append(('destroyed', params['destroyed'])) + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'policy_ids' in params: + query_params.append(('policy_ids', params['policy_ids'])) + collection_formats['policy_ids'] = 'csv' + if 'policy_names' in params: + query_params.append(('policy_names', params['policy_names'])) + collection_formats['policy_names'] = 'csv' + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/policies/snapshot/rules', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='PolicyRuleSnapshotGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_policies_snapshot_rules_post_with_http_info( + self, + rules=None, # type: models.PolicyRuleSnapshotPost + authorization=None, # type: str + x_request_id=None, # type: str + policy_ids=None, # type: List[str] + policy_names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PolicyRuleSnapshotResponse + """Create snapshot policy rules + + Creates one or more snapshot policy rules. The `policy_ids` or `policy_names` parameter is required, but cannot be set together. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_policies_snapshot_rules_post_with_http_info(rules, async_req=True) + >>> result = thread.get() + + :param PolicyRuleSnapshotPost rules: (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] policy_ids: Performs the operation on the unique policy IDs specified. Enter multiple policy IDs in comma-separated format. The `policy_ids` or `policy_names` parameter is required, but they cannot be set together. + :param list[str] policy_names: Performs the operation on the policy names specified. Enter multiple policy names in comma-separated format. For example, `name01,name02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: PolicyRuleSnapshotResponse + If the method is called asynchronously, + returns the request thread. + """ + if policy_ids is not None: + if not isinstance(policy_ids, list): + policy_ids = [policy_ids] + if policy_names is not None: + if not isinstance(policy_names, list): + policy_names = [policy_names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'rules' is set + if rules is None: + raise TypeError("Missing the required parameter `rules` when calling `api226_policies_snapshot_rules_post`") + + collection_formats = {} + path_params = {} + + query_params = [] + if 'policy_ids' in params: + query_params.append(('policy_ids', params['policy_ids'])) + collection_formats['policy_ids'] = 'csv' + if 'policy_names' in params: + query_params.append(('policy_names', params['policy_names'])) + collection_formats['policy_names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'rules' in params: + body_params = params['rules'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/policies/snapshot/rules', 'POST', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='PolicyRuleSnapshotResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) diff --git a/pypureclient/flasharray/FA_2_26/api/ports_api.py b/pypureclient/flasharray/FA_2_26/api/ports_api.py new file mode 100644 index 000000000..f6c7c7a33 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/api/ports_api.py @@ -0,0 +1,259 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +from __future__ import absolute_import + +import re + +# python 2 and python 3 compatibility library +import six +from typing import List, Optional + +from .. import models + +class PortsApi(object): + + def __init__(self, api_client): + self.api_client = api_client + + def api226_ports_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + filter=None, # type: str + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PortGetResponse + """List ports + + Displays host name, iSCSI Qualified Names (IQNs), NVMe Qualified Names (NQNs), IPv4 address of the portal, Fibre Channel World Wide Names (WWNs), and failover ports, including those that were discovered by Purity//FA and those that have been manually assigned by system administrators. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_ports_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: PortGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_ports_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_ports_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/ports', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='PortGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_ports_initiators_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + filter=None, # type: str + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PortInitiatorsGetResponse + """List port initiators + + Displays host iSCSI Qualified Names (IQNs), NVMe Qualified Names (NQNs), and Fibre Channel World Wide Names (WWNs), including those that were discovered by Purity//FA and those that have been manually assigned by system administrators, along with the array ports (targets) on which they are eligible to communicate. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_ports_initiators_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: PortInitiatorsGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_ports_initiators_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_ports_initiators_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/ports/initiators', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='PortInitiatorsGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) diff --git a/pypureclient/flasharray/FA_2_26/api/protection_group_snapshots_api.py b/pypureclient/flasharray/FA_2_26/api/protection_group_snapshots_api.py new file mode 100644 index 000000000..60a42e2ff --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/api/protection_group_snapshots_api.py @@ -0,0 +1,874 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +from __future__ import absolute_import + +import re + +# python 2 and python 3 compatibility library +import six +from typing import List, Optional + +from .. import models + +class ProtectionGroupSnapshotsApi(object): + + def __init__(self, api_client): + self.api_client = api_client + + def api226_protection_group_snapshots_delete_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + ids=None, # type: List[str] + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """Delete a protection group snapshot + + Deletes a protection group snapshot that has been destroyed and is pending eradication. Eradicating a protection group snapshot eradicates all of its protection group snapshots and cannot be recovered. Protection group snapshots are destroyed through the `PATCH` method. The `names` or `ids` parameter is required, but they cannot be set together. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_protection_group_snapshots_delete_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] ids: Performs the operation on the unique resource IDs specified. Enter multiple resource IDs in comma-separated format. The `ids` or `names` parameter is required, but they cannot be set together. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: None + If the method is called asynchronously, + returns the request thread. + """ + if ids is not None: + if not isinstance(ids, list): + ids = [ids] + if names is not None: + if not isinstance(names, list): + names = [names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + collection_formats = {} + path_params = {} + + query_params = [] + if 'ids' in params: + query_params.append(('ids', params['ids'])) + collection_formats['ids'] = 'csv' + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/protection-group-snapshots', 'DELETE', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type=None, + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_protection_group_snapshots_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + destroyed=None, # type: bool + filter=None, # type: str + limit=None, # type: int + ids=None, # type: List[str] + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + source_names=None, # type: List[str] + source_ids=None, # type: List[str] + total_item_count=None, # type: bool + total_only=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.ProtectionGroupSnapshotGetResponse + """List protection group snapshots + + Displays a list of protection group snapshots, including those pending eradication. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_protection_group_snapshots_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str continuation_token: A token used to retrieve the next page of data with some consistency guaranteed. The token is a Base64 encoded value. Set `continuation_token` to the system-generated token taken from the `x-next-token` header field of the response. A query has reached its last page when the response does not include a token. Pagination requires the `limit` and `continuation_token` query parameters. + :param bool destroyed: If set to `true`, lists only destroyed objects that are in the eradication pending state. If set to `false`, lists only objects that are not destroyed. For destroyed objects, the time remaining is displayed in milliseconds. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param list[str] ids: Performs the operation on the unique resource IDs specified. Enter multiple resource IDs in comma-separated format. The `ids` or `names` parameter is required, but they cannot be set together. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param list[str] source_names: Performs the operation on the source name specified. Enter multiple source names in comma-separated format. For example, `name01,name02`. + :param list[str] source_ids: Performs the operation on the source ID specified. Enter multiple source IDs in comma-separated format. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool total_only: If set to `true`, returns the aggregate value of all items after filtering. Where it makes more sense, the average value is displayed instead. The values are displayed for each name where meaningful. If `total_only=true`, the `items` list will be empty. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: ProtectionGroupSnapshotGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if ids is not None: + if not isinstance(ids, list): + ids = [ids] + if names is not None: + if not isinstance(names, list): + names = [names] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + if source_names is not None: + if not isinstance(source_names, list): + source_names = [source_names] + if source_ids is not None: + if not isinstance(source_ids, list): + source_ids = [source_ids] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_protection_group_snapshots_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_protection_group_snapshots_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'continuation_token' in params: + query_params.append(('continuation_token', params['continuation_token'])) + if 'destroyed' in params: + query_params.append(('destroyed', params['destroyed'])) + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'ids' in params: + query_params.append(('ids', params['ids'])) + collection_formats['ids'] = 'csv' + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'source_names' in params: + query_params.append(('source_names', params['source_names'])) + collection_formats['source_names'] = 'csv' + if 'source_ids' in params: + query_params.append(('source_ids', params['source_ids'])) + collection_formats['source_ids'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + if 'total_only' in params: + query_params.append(('total_only', params['total_only'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/protection-group-snapshots', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='ProtectionGroupSnapshotGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_protection_group_snapshots_patch_with_http_info( + self, + protection_group_snapshot=None, # type: models.ProtectionGroupSnapshotPatch + authorization=None, # type: str + x_request_id=None, # type: str + ids=None, # type: List[str] + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.ProtectionGroupSnapshotResponse + """Modify a protection group snapshot + + Modifies a protection group snapshot so that it can be destroyed. To destroy a volume, set `destroyed=true`. To recover a volume that has been destroyed and is pending eradication, set `destroyed=false`. The `names` or `ids` parameter is required, but they cannot be set together. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_protection_group_snapshots_patch_with_http_info(protection_group_snapshot, async_req=True) + >>> result = thread.get() + + :param ProtectionGroupSnapshotPatch protection_group_snapshot: (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] ids: Performs the operation on the unique resource IDs specified. Enter multiple resource IDs in comma-separated format. The `ids` or `names` parameter is required, but they cannot be set together. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: ProtectionGroupSnapshotResponse + If the method is called asynchronously, + returns the request thread. + """ + if ids is not None: + if not isinstance(ids, list): + ids = [ids] + if names is not None: + if not isinstance(names, list): + names = [names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'protection_group_snapshot' is set + if protection_group_snapshot is None: + raise TypeError("Missing the required parameter `protection_group_snapshot` when calling `api226_protection_group_snapshots_patch`") + + collection_formats = {} + path_params = {} + + query_params = [] + if 'ids' in params: + query_params.append(('ids', params['ids'])) + collection_formats['ids'] = 'csv' + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'protection_group_snapshot' in params: + body_params = params['protection_group_snapshot'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/protection-group-snapshots', 'PATCH', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='ProtectionGroupSnapshotResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_protection_group_snapshots_post_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + apply_retention=None, # type: bool + for_replication=None, # type: bool + replicate=None, # type: bool + replicate_now=None, # type: bool + allow_throttle=None, # type: bool + source_ids=None, # type: List[str] + source_names=None, # type: List[str] + protection_group_snapshot=None, # type: models.ProtectionGroupSnapshotPost + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.ProtectionGroupSnapshotResponse + """Create a protection group snapshot + + Creates a point-in-time snapshot of the contents of a protection group. The `source_ids` or `source_names` parameter is required, but they cannot be set together. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_protection_group_snapshots_post_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param bool apply_retention: If `true`, applies the local and remote retention policy to the snapshots. + :param bool for_replication: If `true`, destroys and eradicates the snapshot after 1 hour. + :param bool replicate: If set to `true`, queues up and begins replicating to each allowed target after all earlier replication sessions for the same protection group have been completed to that target. The `replicate` and `replicate_now` parameters cannot be used together. + :param bool replicate_now: If set to `true`, replicates the snapshots to each allowed target. The `replicate` and `replicate_now` parameters cannot be used together. + :param bool allow_throttle: If set to `true`, allows snapshot to fail if array health is not optimal. + :param list[str] source_ids: Performs the operation on the source ID specified. Enter multiple source IDs in comma-separated format. + :param list[str] source_names: Performs the operation on the source name specified. Enter multiple source names in comma-separated format. For example, `name01,name02`. + :param ProtectionGroupSnapshotPost protection_group_snapshot: + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: ProtectionGroupSnapshotResponse + If the method is called asynchronously, + returns the request thread. + """ + if source_ids is not None: + if not isinstance(source_ids, list): + source_ids = [source_ids] + if source_names is not None: + if not isinstance(source_names, list): + source_names = [source_names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + collection_formats = {} + path_params = {} + + query_params = [] + if 'apply_retention' in params: + query_params.append(('apply_retention', params['apply_retention'])) + if 'for_replication' in params: + query_params.append(('for_replication', params['for_replication'])) + if 'replicate' in params: + query_params.append(('replicate', params['replicate'])) + if 'replicate_now' in params: + query_params.append(('replicate_now', params['replicate_now'])) + if 'allow_throttle' in params: + query_params.append(('allow_throttle', params['allow_throttle'])) + if 'source_ids' in params: + query_params.append(('source_ids', params['source_ids'])) + collection_formats['source_ids'] = 'csv' + if 'source_names' in params: + query_params.append(('source_names', params['source_names'])) + collection_formats['source_names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'protection_group_snapshot' in params: + body_params = params['protection_group_snapshot'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/protection-group-snapshots', 'POST', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='ProtectionGroupSnapshotResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_protection_group_snapshots_replica_post_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + convert_source_to_baseline=None, # type: bool + ids=None, # type: List[str] + names=None, # type: List[str] + on=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.ProtectionGroupSnapshotReplicaResponse + """Create an action to send protection group snapshots + + Creates an action to send protection group snapshots to protection pgroup targets. When the `on` option is used, only specified targets will recieve the protection group snapshots. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_protection_group_snapshots_replica_post_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param bool convert_source_to_baseline: Set to `true` to have the snapshot be eradicated when it is no longer baseline on source. + :param list[str] ids: Performs the operation on the unique resource IDs specified. Enter multiple resource IDs in comma-separated format. The `ids` or `names` parameter is required, but they cannot be set together. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param list[str] on: Performs the operation locally with the target names specified as the destinations of the operation. Enter multiple target names in comma-separated format. For example, `targetName01,targetName02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: ProtectionGroupSnapshotReplicaResponse + If the method is called asynchronously, + returns the request thread. + """ + if ids is not None: + if not isinstance(ids, list): + ids = [ids] + if names is not None: + if not isinstance(names, list): + names = [names] + if on is not None: + if not isinstance(on, list): + on = [on] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + collection_formats = {} + path_params = {} + + query_params = [] + if 'convert_source_to_baseline' in params: + query_params.append(('convert_source_to_baseline', params['convert_source_to_baseline'])) + if 'ids' in params: + query_params.append(('ids', params['ids'])) + collection_formats['ids'] = 'csv' + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'on' in params: + query_params.append(('on', params['on'])) + collection_formats['on'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/protection-group-snapshots/replica', 'POST', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='ProtectionGroupSnapshotReplicaResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_protection_group_snapshots_test_post_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + apply_retention=None, # type: bool + for_replication=None, # type: bool + replicate=None, # type: bool + replicate_now=None, # type: bool + allow_throttle=None, # type: bool + source_ids=None, # type: List[str] + source_names=None, # type: List[str] + protection_group_snapshot=None, # type: models.ProtectionGroupSnapshotPost + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.TestResultWithResourceWithIdPostResponse + """Create an attempt to take protection group snapshot + + Creates an attempt to take the protection group snapshot, without actually taking it, to test if the snapshot can be successfully taken. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_protection_group_snapshots_test_post_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param bool apply_retention: If `true`, applies the local and remote retention policy to the snapshots. + :param bool for_replication: If `true`, destroys and eradicates the snapshot after 1 hour. + :param bool replicate: If set to `true`, queues up and begins replicating to each allowed target after all earlier replication sessions for the same protection group have been completed to that target. The `replicate` and `replicate_now` parameters cannot be used together. + :param bool replicate_now: If set to `true`, replicates the snapshots to each allowed target. The `replicate` and `replicate_now` parameters cannot be used together. + :param bool allow_throttle: If set to `true`, allows snapshot to fail if array health is not optimal. + :param list[str] source_ids: Performs the operation on the source ID specified. Enter multiple source IDs in comma-separated format. + :param list[str] source_names: Performs the operation on the source name specified. Enter multiple source names in comma-separated format. For example, `name01,name02`. + :param ProtectionGroupSnapshotPost protection_group_snapshot: + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: TestResultWithResourceWithIdPostResponse + If the method is called asynchronously, + returns the request thread. + """ + if source_ids is not None: + if not isinstance(source_ids, list): + source_ids = [source_ids] + if source_names is not None: + if not isinstance(source_names, list): + source_names = [source_names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + collection_formats = {} + path_params = {} + + query_params = [] + if 'apply_retention' in params: + query_params.append(('apply_retention', params['apply_retention'])) + if 'for_replication' in params: + query_params.append(('for_replication', params['for_replication'])) + if 'replicate' in params: + query_params.append(('replicate', params['replicate'])) + if 'replicate_now' in params: + query_params.append(('replicate_now', params['replicate_now'])) + if 'allow_throttle' in params: + query_params.append(('allow_throttle', params['allow_throttle'])) + if 'source_ids' in params: + query_params.append(('source_ids', params['source_ids'])) + collection_formats['source_ids'] = 'csv' + if 'source_names' in params: + query_params.append(('source_names', params['source_names'])) + collection_formats['source_names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'protection_group_snapshot' in params: + body_params = params['protection_group_snapshot'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/protection-group-snapshots/test', 'POST', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='TestResultWithResourceWithIdPostResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_protection_group_snapshots_transfer_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + destroyed=None, # type: bool + filter=None, # type: str + limit=None, # type: int + ids=None, # type: List[str] + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + source_ids=None, # type: List[str] + source_names=None, # type: List[str] + total_item_count=None, # type: bool + total_only=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.ProtectionGroupSnapshotTransferGetResponse + """List protection group snapshots with transfer statistics + + Displays a list of protection group snapshots and corresponding transfer statistics. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_protection_group_snapshots_transfer_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param bool destroyed: If set to `true`, lists only destroyed objects that are in the eradication pending state. If set to `false`, lists only objects that are not destroyed. For destroyed objects, the time remaining is displayed in milliseconds. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param list[str] ids: Performs the operation on the unique resource IDs specified. Enter multiple resource IDs in comma-separated format. The `ids` or `names` parameter is required, but they cannot be set together. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param list[str] source_ids: Performs the operation on the source ID specified. Enter multiple source IDs in comma-separated format. + :param list[str] source_names: Performs the operation on the source name specified. Enter multiple source names in comma-separated format. For example, `name01,name02`. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool total_only: If set to `true`, returns the aggregate value of all items after filtering. Where it makes more sense, the average value is displayed instead. The values are displayed for each name where meaningful. If `total_only=true`, the `items` list will be empty. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: ProtectionGroupSnapshotTransferGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if ids is not None: + if not isinstance(ids, list): + ids = [ids] + if names is not None: + if not isinstance(names, list): + names = [names] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + if source_ids is not None: + if not isinstance(source_ids, list): + source_ids = [source_ids] + if source_names is not None: + if not isinstance(source_names, list): + source_names = [source_names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_protection_group_snapshots_transfer_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_protection_group_snapshots_transfer_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'destroyed' in params: + query_params.append(('destroyed', params['destroyed'])) + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'ids' in params: + query_params.append(('ids', params['ids'])) + collection_formats['ids'] = 'csv' + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'source_ids' in params: + query_params.append(('source_ids', params['source_ids'])) + collection_formats['source_ids'] = 'csv' + if 'source_names' in params: + query_params.append(('source_names', params['source_names'])) + collection_formats['source_names'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + if 'total_only' in params: + query_params.append(('total_only', params['total_only'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/protection-group-snapshots/transfer', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='ProtectionGroupSnapshotTransferGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) diff --git a/pypureclient/flasharray/FA_2_26/api/protection_groups_api.py b/pypureclient/flasharray/FA_2_26/api/protection_groups_api.py new file mode 100644 index 000000000..237863d6a --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/api/protection_groups_api.py @@ -0,0 +1,2401 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +from __future__ import absolute_import + +import re + +# python 2 and python 3 compatibility library +import six +from typing import List, Optional + +from .. import models + +class ProtectionGroupsApi(object): + + def __init__(self, api_client): + self.api_client = api_client + + def api226_protection_groups_delete_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + ids=None, # type: List[str] + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """Delete a protection group + + Deletes a protection group that has been destroyed and is pending eradication. Eradicated protection groups cannot be recovered. Protection groups are destroyed through the `PATCH` method. The `names` parameter is required. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_protection_groups_delete_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] ids: Performs the operation on the unique resource IDs specified. Enter multiple resource IDs in comma-separated format. The `ids` or `names` parameter is required, but they cannot be set together. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: None + If the method is called asynchronously, + returns the request thread. + """ + if ids is not None: + if not isinstance(ids, list): + ids = [ids] + if names is not None: + if not isinstance(names, list): + names = [names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + collection_formats = {} + path_params = {} + + query_params = [] + if 'ids' in params: + query_params.append(('ids', params['ids'])) + collection_formats['ids'] = 'csv' + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/protection-groups', 'DELETE', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type=None, + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_protection_groups_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + destroyed=None, # type: bool + filter=None, # type: str + ids=None, # type: List[str] + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + total_only=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.ProtectionGroupGetResponse + """List protection groups + + Displays a list of protection groups, including their associated source arrays, replication targets, hosts, host groups, and volumes. The list includes protection groups that were created on the local array to replicate snapshot data to other arrays or offload targets, created on a remote array and replicated asynchronously to this array, or created inside a pod on a remote array and stretched to the local array. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_protection_groups_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str continuation_token: A token used to retrieve the next page of data with some consistency guaranteed. The token is a Base64 encoded value. Set `continuation_token` to the system-generated token taken from the `x-next-token` header field of the response. A query has reached its last page when the response does not include a token. Pagination requires the `limit` and `continuation_token` query parameters. + :param bool destroyed: If set to `true`, lists only destroyed objects that are in the eradication pending state. If set to `false`, lists only objects that are not destroyed. For destroyed objects, the time remaining is displayed in milliseconds. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param list[str] ids: Performs the operation on the unique resource IDs specified. Enter multiple resource IDs in comma-separated format. The `ids` or `names` parameter is required, but they cannot be set together. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool total_only: If set to `true`, returns the aggregate value of all items after filtering. Where it makes more sense, the average value is displayed instead. The values are displayed for each name where meaningful. If `total_only=true`, the `items` list will be empty. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: ProtectionGroupGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if ids is not None: + if not isinstance(ids, list): + ids = [ids] + if names is not None: + if not isinstance(names, list): + names = [names] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_protection_groups_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_protection_groups_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'continuation_token' in params: + query_params.append(('continuation_token', params['continuation_token'])) + if 'destroyed' in params: + query_params.append(('destroyed', params['destroyed'])) + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'ids' in params: + query_params.append(('ids', params['ids'])) + collection_formats['ids'] = 'csv' + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + if 'total_only' in params: + query_params.append(('total_only', params['total_only'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/protection-groups', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='ProtectionGroupGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_protection_groups_host_groups_delete_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + group_ids=None, # type: List[str] + group_names=None, # type: List[str] + member_names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """Delete a host group from a protection group + + Deletes a host group member from a protection group. After the member has been removed, it is no longer protected by the group. Protection group snapshots taken before the member was removed will not be affected. Removing a member from a protection group does not delete the member from the array, and the member can be added back to the protection group at any time. The `group_names` parameter represents the name of the protection group, and the `member_names` parameter represents the name of the host group. The `group_names` and `member_names` parameters are required and must be set together. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_protection_groups_host_groups_delete_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] group_ids: A comma-separated list of group IDs. + :param list[str] group_names: Performs the operation on the unique group name specified. Examples of groups include host groups, pods, protection groups, and volume groups. Enter multiple names in comma-separated format. For example, `hgroup01,hgroup02`. + :param list[str] member_names: Performs the operation on the unique member name specified. Examples of members include volumes, hosts, host groups, and directories. Enter multiple names in comma-separated format. For example, `vol01,vol02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: None + If the method is called asynchronously, + returns the request thread. + """ + if group_ids is not None: + if not isinstance(group_ids, list): + group_ids = [group_ids] + if group_names is not None: + if not isinstance(group_names, list): + group_names = [group_names] + if member_names is not None: + if not isinstance(member_names, list): + member_names = [member_names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + collection_formats = {} + path_params = {} + + query_params = [] + if 'group_ids' in params: + query_params.append(('group_ids', params['group_ids'])) + collection_formats['group_ids'] = 'csv' + if 'group_names' in params: + query_params.append(('group_names', params['group_names'])) + collection_formats['group_names'] = 'csv' + if 'member_names' in params: + query_params.append(('member_names', params['member_names'])) + collection_formats['member_names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/protection-groups/host-groups', 'DELETE', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type=None, + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_protection_groups_host_groups_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + filter=None, # type: str + group_ids=None, # type: List[str] + group_names=None, # type: List[str] + limit=None, # type: int + member_names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.MemberNoIdMemberGetResponse + """List protection groups with host group members + + Displays a list of protection groups that have host group members. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_protection_groups_host_groups_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str continuation_token: A token used to retrieve the next page of data with some consistency guaranteed. The token is a Base64 encoded value. Set `continuation_token` to the system-generated token taken from the `x-next-token` header field of the response. A query has reached its last page when the response does not include a token. Pagination requires the `limit` and `continuation_token` query parameters. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param list[str] group_ids: A comma-separated list of group IDs. + :param list[str] group_names: Performs the operation on the unique group name specified. Examples of groups include host groups, pods, protection groups, and volume groups. Enter multiple names in comma-separated format. For example, `hgroup01,hgroup02`. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param list[str] member_names: Performs the operation on the unique member name specified. Examples of members include volumes, hosts, host groups, and directories. Enter multiple names in comma-separated format. For example, `vol01,vol02`. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: MemberNoIdMemberGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if group_ids is not None: + if not isinstance(group_ids, list): + group_ids = [group_ids] + if group_names is not None: + if not isinstance(group_names, list): + group_names = [group_names] + if member_names is not None: + if not isinstance(member_names, list): + member_names = [member_names] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_protection_groups_host_groups_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_protection_groups_host_groups_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'continuation_token' in params: + query_params.append(('continuation_token', params['continuation_token'])) + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'group_ids' in params: + query_params.append(('group_ids', params['group_ids'])) + collection_formats['group_ids'] = 'csv' + if 'group_names' in params: + query_params.append(('group_names', params['group_names'])) + collection_formats['group_names'] = 'csv' + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'member_names' in params: + query_params.append(('member_names', params['member_names'])) + collection_formats['member_names'] = 'csv' + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/protection-groups/host-groups', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='MemberNoIdMemberGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_protection_groups_host_groups_post_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + group_ids=None, # type: List[str] + group_names=None, # type: List[str] + member_names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.MemberNoIdMemberResponse + """Creates an action to add a host group to a protection group + + Creates an action to add a host group member to a protection group. Members that are already in the protection group are not affected. For asynchronous replication, only members of the same type can belong to a protection group. The `group_names` parameter represents the name of the protection group, and the `member_names` parameter represents the name of the host group. The `group_names` and `member_names` parameters are required and must be set together. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_protection_groups_host_groups_post_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] group_ids: A comma-separated list of group IDs. + :param list[str] group_names: Performs the operation on the unique group name specified. Examples of groups include host groups, pods, protection groups, and volume groups. Enter multiple names in comma-separated format. For example, `hgroup01,hgroup02`. + :param list[str] member_names: Performs the operation on the unique member name specified. Examples of members include volumes, hosts, host groups, and directories. Enter multiple names in comma-separated format. For example, `vol01,vol02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: MemberNoIdMemberResponse + If the method is called asynchronously, + returns the request thread. + """ + if group_ids is not None: + if not isinstance(group_ids, list): + group_ids = [group_ids] + if group_names is not None: + if not isinstance(group_names, list): + group_names = [group_names] + if member_names is not None: + if not isinstance(member_names, list): + member_names = [member_names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + collection_formats = {} + path_params = {} + + query_params = [] + if 'group_ids' in params: + query_params.append(('group_ids', params['group_ids'])) + collection_formats['group_ids'] = 'csv' + if 'group_names' in params: + query_params.append(('group_names', params['group_names'])) + collection_formats['group_names'] = 'csv' + if 'member_names' in params: + query_params.append(('member_names', params['member_names'])) + collection_formats['member_names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/protection-groups/host-groups', 'POST', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='MemberNoIdMemberResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_protection_groups_hosts_delete_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + group_ids=None, # type: List[str] + group_names=None, # type: List[str] + member_names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """Delete a host from a protection group + + Deletes a host member from a protection group. After the member has been removed, it is no longer protected by the group. Any protection group snapshots that were taken before the member was removed will not be affected. Removing a member from a protection group does not delete the member from the array, and the member can be added back to the protection group at any time. The `group_names` parameter represents the name of the protection group, and the `member_names` parameter represents the name of the host. The `group_names` and `member_names` parameters are required and must be set together. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_protection_groups_hosts_delete_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] group_ids: A comma-separated list of group IDs. + :param list[str] group_names: Performs the operation on the unique group name specified. Examples of groups include host groups, pods, protection groups, and volume groups. Enter multiple names in comma-separated format. For example, `hgroup01,hgroup02`. + :param list[str] member_names: Performs the operation on the unique member name specified. Examples of members include volumes, hosts, host groups, and directories. Enter multiple names in comma-separated format. For example, `vol01,vol02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: None + If the method is called asynchronously, + returns the request thread. + """ + if group_ids is not None: + if not isinstance(group_ids, list): + group_ids = [group_ids] + if group_names is not None: + if not isinstance(group_names, list): + group_names = [group_names] + if member_names is not None: + if not isinstance(member_names, list): + member_names = [member_names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + collection_formats = {} + path_params = {} + + query_params = [] + if 'group_ids' in params: + query_params.append(('group_ids', params['group_ids'])) + collection_formats['group_ids'] = 'csv' + if 'group_names' in params: + query_params.append(('group_names', params['group_names'])) + collection_formats['group_names'] = 'csv' + if 'member_names' in params: + query_params.append(('member_names', params['member_names'])) + collection_formats['member_names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/protection-groups/hosts', 'DELETE', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type=None, + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_protection_groups_hosts_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + filter=None, # type: str + group_ids=None, # type: List[str] + group_names=None, # type: List[str] + limit=None, # type: int + member_names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.MemberNoIdMemberGetResponse + """List protection groups with host members + + Displays a list of protection groups that have host members. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_protection_groups_hosts_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str continuation_token: A token used to retrieve the next page of data with some consistency guaranteed. The token is a Base64 encoded value. Set `continuation_token` to the system-generated token taken from the `x-next-token` header field of the response. A query has reached its last page when the response does not include a token. Pagination requires the `limit` and `continuation_token` query parameters. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param list[str] group_ids: A comma-separated list of group IDs. + :param list[str] group_names: Performs the operation on the unique group name specified. Examples of groups include host groups, pods, protection groups, and volume groups. Enter multiple names in comma-separated format. For example, `hgroup01,hgroup02`. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param list[str] member_names: Performs the operation on the unique member name specified. Examples of members include volumes, hosts, host groups, and directories. Enter multiple names in comma-separated format. For example, `vol01,vol02`. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: MemberNoIdMemberGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if group_ids is not None: + if not isinstance(group_ids, list): + group_ids = [group_ids] + if group_names is not None: + if not isinstance(group_names, list): + group_names = [group_names] + if member_names is not None: + if not isinstance(member_names, list): + member_names = [member_names] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_protection_groups_hosts_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_protection_groups_hosts_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'continuation_token' in params: + query_params.append(('continuation_token', params['continuation_token'])) + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'group_ids' in params: + query_params.append(('group_ids', params['group_ids'])) + collection_formats['group_ids'] = 'csv' + if 'group_names' in params: + query_params.append(('group_names', params['group_names'])) + collection_formats['group_names'] = 'csv' + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'member_names' in params: + query_params.append(('member_names', params['member_names'])) + collection_formats['member_names'] = 'csv' + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/protection-groups/hosts', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='MemberNoIdMemberGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_protection_groups_hosts_post_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + group_ids=None, # type: List[str] + group_names=None, # type: List[str] + member_names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.MemberNoIdMemberResponse + """Create an action to add a host to a protection group + + Creates an action to add a host member to a protection group. Members that are already in the protection group are not affected. For asynchronous replication, only members of the same type can belong to a protection group. The `group_names` parameter represents the name of the protection group, and the `member_names` parameter represents the name of the host. The `group_names` and `member_names` parameters are required and must be set together. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_protection_groups_hosts_post_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] group_ids: A comma-separated list of group IDs. + :param list[str] group_names: Performs the operation on the unique group name specified. Examples of groups include host groups, pods, protection groups, and volume groups. Enter multiple names in comma-separated format. For example, `hgroup01,hgroup02`. + :param list[str] member_names: Performs the operation on the unique member name specified. Examples of members include volumes, hosts, host groups, and directories. Enter multiple names in comma-separated format. For example, `vol01,vol02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: MemberNoIdMemberResponse + If the method is called asynchronously, + returns the request thread. + """ + if group_ids is not None: + if not isinstance(group_ids, list): + group_ids = [group_ids] + if group_names is not None: + if not isinstance(group_names, list): + group_names = [group_names] + if member_names is not None: + if not isinstance(member_names, list): + member_names = [member_names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + collection_formats = {} + path_params = {} + + query_params = [] + if 'group_ids' in params: + query_params.append(('group_ids', params['group_ids'])) + collection_formats['group_ids'] = 'csv' + if 'group_names' in params: + query_params.append(('group_names', params['group_names'])) + collection_formats['group_names'] = 'csv' + if 'member_names' in params: + query_params.append(('member_names', params['member_names'])) + collection_formats['member_names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/protection-groups/hosts', 'POST', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='MemberNoIdMemberResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_protection_groups_patch_with_http_info( + self, + protection_group=None, # type: models.ProtectionGroup + authorization=None, # type: str + x_request_id=None, # type: str + ids=None, # type: List[str] + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.ProtectionGroupResponse + """Modify a protection group + + Modifies the protection group schedules to generate and replicate snapshots to another array or to an external storage system. Renames or destroys a protection group. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_protection_groups_patch_with_http_info(protection_group, async_req=True) + >>> result = thread.get() + + :param ProtectionGroup protection_group: (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] ids: Performs the operation on the unique resource IDs specified. Enter multiple resource IDs in comma-separated format. The `ids` or `names` parameter is required, but they cannot be set together. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: ProtectionGroupResponse + If the method is called asynchronously, + returns the request thread. + """ + if ids is not None: + if not isinstance(ids, list): + ids = [ids] + if names is not None: + if not isinstance(names, list): + names = [names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'protection_group' is set + if protection_group is None: + raise TypeError("Missing the required parameter `protection_group` when calling `api226_protection_groups_patch`") + + collection_formats = {} + path_params = {} + + query_params = [] + if 'ids' in params: + query_params.append(('ids', params['ids'])) + collection_formats['ids'] = 'csv' + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'protection_group' in params: + body_params = params['protection_group'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/protection-groups', 'PATCH', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='ProtectionGroupResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_protection_groups_performance_replication_by_array_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + destroyed=None, # type: bool + filter=None, # type: str + end_time=None, # type: int + resolution=None, # type: int + start_time=None, # type: int + ids=None, # type: List[str] + names=None, # type: List[str] + limit=None, # type: int + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.ProtectionGroupPerformanceArrayResponse + """List protection group replication performance data with array details + + Displays the total number of bytes of replication data transmitted and received per second. The data is grouped by protection group and includes the names of the source array and targets for each protection group. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_protection_groups_performance_replication_by_array_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param bool destroyed: If set to `true`, lists only destroyed objects that are in the eradication pending state. If set to `false`, lists only objects that are not destroyed. For destroyed objects, the time remaining is displayed in milliseconds. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param int end_time: Displays historical performance data for the specified time window, where `start_time` is the beginning of the time window, and `end_time` is the end of the time window. The `start_time` and `end_time` parameters are specified in milliseconds since the UNIX epoch. If `start_time` is not specified, the start time will default to one resolution before the end time, meaning that the most recent sample of performance data will be displayed. If `end_time`is not specified, the end time will default to the current time. Include the `resolution` parameter to display the performance data at the specified resolution. If not specified, `resolution` defaults to the lowest valid resolution. + :param int resolution: The number of milliseconds between samples of historical data. For array-wide performance metrics (`/arrays/performance` endpoint), valid values are `1000` (1 second), `30000` (30 seconds), `300000` (5 minutes), `1800000` (30 minutes), `7200000` (2 hours), `28800000` (8 hours), and `86400000` (24 hours). For performance metrics on storage objects (`/performance` endpoint), such as volumes, valid values are `30000` (30 seconds), `300000` (5 minutes), `1800000` (30 minutes), `7200000` (2 hours), `28800000` (8 hours), and `86400000` (24 hours). For space metrics, (`/space` endpoint), valid values are `300000` (5 minutes), `1800000` (30 minutes), `7200000` (2 hours), `28800000` (8 hours), and `86400000` (24 hours). Include the `start_time` parameter to display the performance data starting at the specified start time. If `start_time` is not specified, the start time will default to one resolution before the end time, meaning that the most recent sample of performance data will be displayed. Include the `end_time` parameter to display the performance data until the specified end time. If `end_time`is not specified, the end time will default to the current time. If the `resolution` parameter is not specified but either the `start_time` or `end_time` parameter is, then `resolution` will default to the lowest valid resolution. + :param int start_time: Displays historical performance data for the specified time window, where `start_time` is the beginning of the time window, and `end_time` is the end of the time window. The `start_time` and `end_time` parameters are specified in milliseconds since the UNIX epoch. If `start_time` is not specified, the start time will default to one resolution before the end time, meaning that the most recent sample of performance data will be displayed. If `end_time`is not specified, the end time will default to the current time. Include the `resolution` parameter to display the performance data at the specified resolution. If not specified, `resolution` defaults to the lowest valid resolution. + :param list[str] ids: Performs the operation on the unique resource IDs specified. Enter multiple resource IDs in comma-separated format. The `ids` or `names` parameter is required, but they cannot be set together. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: ProtectionGroupPerformanceArrayResponse + If the method is called asynchronously, + returns the request thread. + """ + if ids is not None: + if not isinstance(ids, list): + ids = [ids] + if names is not None: + if not isinstance(names, list): + names = [names] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'resolution' in params and params['resolution'] < 0: + raise ValueError("Invalid value for parameter `resolution` when calling `api226_protection_groups_performance_replication_by_array_get`, must be a value greater than or equal to `0`") + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_protection_groups_performance_replication_by_array_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_protection_groups_performance_replication_by_array_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'destroyed' in params: + query_params.append(('destroyed', params['destroyed'])) + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'end_time' in params: + query_params.append(('end_time', params['end_time'])) + if 'resolution' in params: + query_params.append(('resolution', params['resolution'])) + if 'start_time' in params: + query_params.append(('start_time', params['start_time'])) + if 'ids' in params: + query_params.append(('ids', params['ids'])) + collection_formats['ids'] = 'csv' + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/protection-groups/performance/replication/by-array', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='ProtectionGroupPerformanceArrayResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_protection_groups_performance_replication_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + destroyed=None, # type: bool + filter=None, # type: str + end_time=None, # type: int + resolution=None, # type: int + start_time=None, # type: int + ids=None, # type: List[str] + names=None, # type: List[str] + limit=None, # type: int + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.ProtectionGroupPerformanceResponse + """List protection group replication performance data + + Displays the total number of bytes of replication data transmitted and received per second. The data is grouped by protection group. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_protection_groups_performance_replication_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param bool destroyed: If set to `true`, lists only destroyed objects that are in the eradication pending state. If set to `false`, lists only objects that are not destroyed. For destroyed objects, the time remaining is displayed in milliseconds. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param int end_time: Displays historical performance data for the specified time window, where `start_time` is the beginning of the time window, and `end_time` is the end of the time window. The `start_time` and `end_time` parameters are specified in milliseconds since the UNIX epoch. If `start_time` is not specified, the start time will default to one resolution before the end time, meaning that the most recent sample of performance data will be displayed. If `end_time`is not specified, the end time will default to the current time. Include the `resolution` parameter to display the performance data at the specified resolution. If not specified, `resolution` defaults to the lowest valid resolution. + :param int resolution: The number of milliseconds between samples of historical data. For array-wide performance metrics (`/arrays/performance` endpoint), valid values are `1000` (1 second), `30000` (30 seconds), `300000` (5 minutes), `1800000` (30 minutes), `7200000` (2 hours), `28800000` (8 hours), and `86400000` (24 hours). For performance metrics on storage objects (`/performance` endpoint), such as volumes, valid values are `30000` (30 seconds), `300000` (5 minutes), `1800000` (30 minutes), `7200000` (2 hours), `28800000` (8 hours), and `86400000` (24 hours). For space metrics, (`/space` endpoint), valid values are `300000` (5 minutes), `1800000` (30 minutes), `7200000` (2 hours), `28800000` (8 hours), and `86400000` (24 hours). Include the `start_time` parameter to display the performance data starting at the specified start time. If `start_time` is not specified, the start time will default to one resolution before the end time, meaning that the most recent sample of performance data will be displayed. Include the `end_time` parameter to display the performance data until the specified end time. If `end_time`is not specified, the end time will default to the current time. If the `resolution` parameter is not specified but either the `start_time` or `end_time` parameter is, then `resolution` will default to the lowest valid resolution. + :param int start_time: Displays historical performance data for the specified time window, where `start_time` is the beginning of the time window, and `end_time` is the end of the time window. The `start_time` and `end_time` parameters are specified in milliseconds since the UNIX epoch. If `start_time` is not specified, the start time will default to one resolution before the end time, meaning that the most recent sample of performance data will be displayed. If `end_time`is not specified, the end time will default to the current time. Include the `resolution` parameter to display the performance data at the specified resolution. If not specified, `resolution` defaults to the lowest valid resolution. + :param list[str] ids: Performs the operation on the unique resource IDs specified. Enter multiple resource IDs in comma-separated format. The `ids` or `names` parameter is required, but they cannot be set together. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: ProtectionGroupPerformanceResponse + If the method is called asynchronously, + returns the request thread. + """ + if ids is not None: + if not isinstance(ids, list): + ids = [ids] + if names is not None: + if not isinstance(names, list): + names = [names] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'resolution' in params and params['resolution'] < 0: + raise ValueError("Invalid value for parameter `resolution` when calling `api226_protection_groups_performance_replication_get`, must be a value greater than or equal to `0`") + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_protection_groups_performance_replication_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_protection_groups_performance_replication_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'destroyed' in params: + query_params.append(('destroyed', params['destroyed'])) + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'end_time' in params: + query_params.append(('end_time', params['end_time'])) + if 'resolution' in params: + query_params.append(('resolution', params['resolution'])) + if 'start_time' in params: + query_params.append(('start_time', params['start_time'])) + if 'ids' in params: + query_params.append(('ids', params['ids'])) + collection_formats['ids'] = 'csv' + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/protection-groups/performance/replication', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='ProtectionGroupPerformanceResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_protection_groups_post_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + source_ids=None, # type: List[str] + source_names=None, # type: List[str] + overwrite=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.ProtectionGroupResponse + """Create a protection group + + Creates a protection group on the local array for asynchronous replication. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_protection_groups_post_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param list[str] source_ids: The id of the protection group or protection group snapshot to be copied into a new or existing protection group. If the destination protection group and all of its volumes already exist, include the `overwrite` parameter to overwrite all of the existing volumes with the snapshot contents. If including the `overwrite` parameter, the names of the volumes that are being overwritten must match the names of the volumes that are being restored. If the source is a protection group, the latest snapshot of the protection group will be used as the source during the copy operation. + :param list[str] source_names: The name of the protection group or protection group snapshot to be copied into a new or existing protection group. If the destination protection group and all of its volumes already exist, include the `overwrite` parameter to overwrite all of the existing volumes with the snapshot contents. If including the `overwrite` parameter, the names of the volumes that are being overwritten must match the names of the volumes that are being restored. If the source is a protection group, the latest snapshot of the protection group will be used as the source during the copy operation. + :param bool overwrite: If set to `true`, overwrites an existing object during an object copy operation. If set to `false` or not set at all and the target name is an existing object, the copy operation fails. Required if the `source` body parameter is set and the source overwrites an existing object during the copy operation. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: ProtectionGroupResponse + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + if source_ids is not None: + if not isinstance(source_ids, list): + source_ids = [source_ids] + if source_names is not None: + if not isinstance(source_names, list): + source_names = [source_names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + collection_formats = {} + path_params = {} + + query_params = [] + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'source_ids' in params: + query_params.append(('source_ids', params['source_ids'])) + collection_formats['source_ids'] = 'csv' + if 'source_names' in params: + query_params.append(('source_names', params['source_names'])) + collection_formats['source_names'] = 'csv' + if 'overwrite' in params: + query_params.append(('overwrite', params['overwrite'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/protection-groups', 'POST', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='ProtectionGroupResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_protection_groups_space_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + destroyed=None, # type: bool + filter=None, # type: str + limit=None, # type: int + ids=None, # type: List[str] + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + total_only=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.ResourceSpaceGetResponse + """List protection group space information + + Displays provisioned size and physical storage consumption data for each protection group. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_protection_groups_space_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param bool destroyed: If set to `true`, lists only destroyed objects that are in the eradication pending state. If set to `false`, lists only objects that are not destroyed. For destroyed objects, the time remaining is displayed in milliseconds. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param list[str] ids: Performs the operation on the unique resource IDs specified. Enter multiple resource IDs in comma-separated format. The `ids` or `names` parameter is required, but they cannot be set together. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool total_only: If set to `true`, returns the aggregate value of all items after filtering. Where it makes more sense, the average value is displayed instead. The values are displayed for each name where meaningful. If `total_only=true`, the `items` list will be empty. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: ResourceSpaceGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if ids is not None: + if not isinstance(ids, list): + ids = [ids] + if names is not None: + if not isinstance(names, list): + names = [names] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_protection_groups_space_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_protection_groups_space_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'destroyed' in params: + query_params.append(('destroyed', params['destroyed'])) + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'ids' in params: + query_params.append(('ids', params['ids'])) + collection_formats['ids'] = 'csv' + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + if 'total_only' in params: + query_params.append(('total_only', params['total_only'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/protection-groups/space', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='ResourceSpaceGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_protection_groups_targets_delete_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + group_ids=None, # type: List[str] + group_names=None, # type: List[str] + member_names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """Delete a target from a protection group + + Deletes an array or offload target from a protection group. The `group_names` parameter represents the name of the protection group. The `member_names` parameter represents the name of the array or offload target that is being removed from the protection group. The `group_names` and `member_names` parameters are required and must be set together. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_protection_groups_targets_delete_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] group_ids: A comma-separated list of group IDs. + :param list[str] group_names: Performs the operation on the unique group name specified. Examples of groups include host groups, pods, protection groups, and volume groups. Enter multiple names in comma-separated format. For example, `hgroup01,hgroup02`. + :param list[str] member_names: Performs the operation on the unique member name specified. Examples of members include volumes, hosts, host groups, and directories. Enter multiple names in comma-separated format. For example, `vol01,vol02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: None + If the method is called asynchronously, + returns the request thread. + """ + if group_ids is not None: + if not isinstance(group_ids, list): + group_ids = [group_ids] + if group_names is not None: + if not isinstance(group_names, list): + group_names = [group_names] + if member_names is not None: + if not isinstance(member_names, list): + member_names = [member_names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + collection_formats = {} + path_params = {} + + query_params = [] + if 'group_ids' in params: + query_params.append(('group_ids', params['group_ids'])) + collection_formats['group_ids'] = 'csv' + if 'group_names' in params: + query_params.append(('group_names', params['group_names'])) + collection_formats['group_names'] = 'csv' + if 'member_names' in params: + query_params.append(('member_names', params['member_names'])) + collection_formats['member_names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/protection-groups/targets', 'DELETE', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type=None, + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_protection_groups_targets_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + filter=None, # type: str + group_ids=None, # type: List[str] + group_names=None, # type: List[str] + limit=None, # type: int + member_names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.ProtectionGroupTargetGetResponse + """List protection groups with targets + + Displays a list of protection groups that have target arrays or offload targets. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_protection_groups_targets_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str continuation_token: A token used to retrieve the next page of data with some consistency guaranteed. The token is a Base64 encoded value. Set `continuation_token` to the system-generated token taken from the `x-next-token` header field of the response. A query has reached its last page when the response does not include a token. Pagination requires the `limit` and `continuation_token` query parameters. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param list[str] group_ids: A comma-separated list of group IDs. + :param list[str] group_names: Performs the operation on the unique group name specified. Examples of groups include host groups, pods, protection groups, and volume groups. Enter multiple names in comma-separated format. For example, `hgroup01,hgroup02`. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param list[str] member_names: Performs the operation on the unique member name specified. Examples of members include volumes, hosts, host groups, and directories. Enter multiple names in comma-separated format. For example, `vol01,vol02`. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: ProtectionGroupTargetGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if group_ids is not None: + if not isinstance(group_ids, list): + group_ids = [group_ids] + if group_names is not None: + if not isinstance(group_names, list): + group_names = [group_names] + if member_names is not None: + if not isinstance(member_names, list): + member_names = [member_names] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_protection_groups_targets_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_protection_groups_targets_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'continuation_token' in params: + query_params.append(('continuation_token', params['continuation_token'])) + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'group_ids' in params: + query_params.append(('group_ids', params['group_ids'])) + collection_formats['group_ids'] = 'csv' + if 'group_names' in params: + query_params.append(('group_names', params['group_names'])) + collection_formats['group_names'] = 'csv' + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'member_names' in params: + query_params.append(('member_names', params['member_names'])) + collection_formats['member_names'] = 'csv' + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/protection-groups/targets', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='ProtectionGroupTargetGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_protection_groups_targets_patch_with_http_info( + self, + target=None, # type: models.TargetProtectionGroupPostPatch + authorization=None, # type: str + x_request_id=None, # type: str + group_ids=None, # type: List[str] + group_names=None, # type: List[str] + member_names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.ProtectionGroupTargetResponse + """Modify a protection group target + + Modifies the source array to replicate protection group data to the target array, or disallows the source array from replicating protection group data to the target array. The `allowed` parameter must be set from the target array. The `group_names` parameter represents the name of the protection group. The `allowed` and `group_names` parameters are required and must be set together. Offload targets do not support the `allowed` parameter. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_protection_groups_targets_patch_with_http_info(target, async_req=True) + >>> result = thread.get() + + :param TargetProtectionGroupPostPatch target: (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] group_ids: A comma-separated list of group IDs. + :param list[str] group_names: Performs the operation on the unique group name specified. Examples of groups include host groups, pods, protection groups, and volume groups. Enter multiple names in comma-separated format. For example, `hgroup01,hgroup02`. + :param list[str] member_names: Performs the operation on the unique member name specified. Examples of members include volumes, hosts, host groups, and directories. Enter multiple names in comma-separated format. For example, `vol01,vol02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: ProtectionGroupTargetResponse + If the method is called asynchronously, + returns the request thread. + """ + if group_ids is not None: + if not isinstance(group_ids, list): + group_ids = [group_ids] + if group_names is not None: + if not isinstance(group_names, list): + group_names = [group_names] + if member_names is not None: + if not isinstance(member_names, list): + member_names = [member_names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'target' is set + if target is None: + raise TypeError("Missing the required parameter `target` when calling `api226_protection_groups_targets_patch`") + + collection_formats = {} + path_params = {} + + query_params = [] + if 'group_ids' in params: + query_params.append(('group_ids', params['group_ids'])) + collection_formats['group_ids'] = 'csv' + if 'group_names' in params: + query_params.append(('group_names', params['group_names'])) + collection_formats['group_names'] = 'csv' + if 'member_names' in params: + query_params.append(('member_names', params['member_names'])) + collection_formats['member_names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'target' in params: + body_params = params['target'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/protection-groups/targets', 'PATCH', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='ProtectionGroupTargetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_protection_groups_targets_post_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + group_ids=None, # type: List[str] + group_names=None, # type: List[str] + member_names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.ProtectionGroupTargetResponse + """Create an action to add a target to a protection group + + Creates an action to add an array or offload target to a protection group. The `group_names` parameter represents the name of the protection group. The `member_names` parameter represents the name of the array or offload target that is being added to the protection group. The `group_names` and `member_names` parameters are required and must be set together. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_protection_groups_targets_post_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] group_ids: A comma-separated list of group IDs. + :param list[str] group_names: Performs the operation on the unique group name specified. Examples of groups include host groups, pods, protection groups, and volume groups. Enter multiple names in comma-separated format. For example, `hgroup01,hgroup02`. + :param list[str] member_names: Performs the operation on the unique member name specified. Examples of members include volumes, hosts, host groups, and directories. Enter multiple names in comma-separated format. For example, `vol01,vol02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: ProtectionGroupTargetResponse + If the method is called asynchronously, + returns the request thread. + """ + if group_ids is not None: + if not isinstance(group_ids, list): + group_ids = [group_ids] + if group_names is not None: + if not isinstance(group_names, list): + group_names = [group_names] + if member_names is not None: + if not isinstance(member_names, list): + member_names = [member_names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + collection_formats = {} + path_params = {} + + query_params = [] + if 'group_ids' in params: + query_params.append(('group_ids', params['group_ids'])) + collection_formats['group_ids'] = 'csv' + if 'group_names' in params: + query_params.append(('group_names', params['group_names'])) + collection_formats['group_names'] = 'csv' + if 'member_names' in params: + query_params.append(('member_names', params['member_names'])) + collection_formats['member_names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/protection-groups/targets', 'POST', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='ProtectionGroupTargetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_protection_groups_volumes_delete_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + group_ids=None, # type: List[str] + group_names=None, # type: List[str] + member_names=None, # type: List[str] + member_ids=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """Delete a volume from a protection group + + Deletes a volume member from a protection group. After the member has been deleted, it is no longer protected by the group. Any protection group snapshots that were taken before the member was deleted are not affected. Deleting a member from a protection group does not delete the member from the array, and the member can be added back to the protection group at any time. The `group_names` parameter represents the name of the protection group, and the `member_names` and `member_ids` parameters represent the names or IDs of the volume. The `group_names` parameter, and either the `member_names` or `member_ids` parameters are required and must be set together. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_protection_groups_volumes_delete_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] group_ids: A comma-separated list of group IDs. + :param list[str] group_names: Performs the operation on the unique group name specified. Examples of groups include host groups, pods, protection groups, and volume groups. Enter multiple names in comma-separated format. For example, `hgroup01,hgroup02`. + :param list[str] member_names: Performs the operation on the unique member name specified. Examples of members include volumes, hosts, host groups, and directories. Enter multiple names in comma-separated format. For example, `vol01,vol02`. + :param list[str] member_ids: Performs the operation on the unique member IDs specified. Enter multiple member IDs in comma-separated format. The `member_ids` or `member_names` parameter is required, but they cannot be set together. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: None + If the method is called asynchronously, + returns the request thread. + """ + if group_ids is not None: + if not isinstance(group_ids, list): + group_ids = [group_ids] + if group_names is not None: + if not isinstance(group_names, list): + group_names = [group_names] + if member_names is not None: + if not isinstance(member_names, list): + member_names = [member_names] + if member_ids is not None: + if not isinstance(member_ids, list): + member_ids = [member_ids] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + collection_formats = {} + path_params = {} + + query_params = [] + if 'group_ids' in params: + query_params.append(('group_ids', params['group_ids'])) + collection_formats['group_ids'] = 'csv' + if 'group_names' in params: + query_params.append(('group_names', params['group_names'])) + collection_formats['group_names'] = 'csv' + if 'member_names' in params: + query_params.append(('member_names', params['member_names'])) + collection_formats['member_names'] = 'csv' + if 'member_ids' in params: + query_params.append(('member_ids', params['member_ids'])) + collection_formats['member_ids'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/protection-groups/volumes', 'DELETE', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type=None, + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_protection_groups_volumes_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + filter=None, # type: str + group_ids=None, # type: List[str] + group_names=None, # type: List[str] + limit=None, # type: int + member_destroyed=None, # type: bool + member_ids=None, # type: List[str] + member_names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.ProtectionGroupsVolumesGetResponse + """List protection groups with volume members + + Displays a list of protection groups that have volume members. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_protection_groups_volumes_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str continuation_token: A token used to retrieve the next page of data with some consistency guaranteed. The token is a Base64 encoded value. Set `continuation_token` to the system-generated token taken from the `x-next-token` header field of the response. A query has reached its last page when the response does not include a token. Pagination requires the `limit` and `continuation_token` query parameters. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param list[str] group_ids: Performs the operation on the unique group id specified. Provide multiple resource IDs in comma-separated format. The group_ids or names parameter is required, but they cannot be set together. + :param list[str] group_names: Performs the operation on the unique group name specified. Examples of groups include host groups, pods, protection groups, and volume groups. Enter multiple names in comma-separated format. For example, `hgroup01,hgroup02`. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param bool member_destroyed: If true, returns only destroyed member objects. Returns an error if a name of a live member object is specified in the member_names query param. If false, returns only live member objects. Returns an error if a name of a destroyed member object is specified in the member_names query param. + :param list[str] member_ids: Performs the operation on the unique member IDs specified. Enter multiple member IDs in comma-separated format. The `member_ids` or `member_names` parameter is required, but they cannot be set together. + :param list[str] member_names: Performs the operation on the unique member name specified. Examples of members include volumes, hosts, host groups, and directories. Enter multiple names in comma-separated format. For example, `vol01,vol02`. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: ProtectionGroupsVolumesGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if group_ids is not None: + if not isinstance(group_ids, list): + group_ids = [group_ids] + if group_names is not None: + if not isinstance(group_names, list): + group_names = [group_names] + if member_ids is not None: + if not isinstance(member_ids, list): + member_ids = [member_ids] + if member_names is not None: + if not isinstance(member_names, list): + member_names = [member_names] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_protection_groups_volumes_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_protection_groups_volumes_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'continuation_token' in params: + query_params.append(('continuation_token', params['continuation_token'])) + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'group_ids' in params: + query_params.append(('group_ids', params['group_ids'])) + collection_formats['group_ids'] = 'csv' + if 'group_names' in params: + query_params.append(('group_names', params['group_names'])) + collection_formats['group_names'] = 'csv' + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'member_destroyed' in params: + query_params.append(('member_destroyed', params['member_destroyed'])) + if 'member_ids' in params: + query_params.append(('member_ids', params['member_ids'])) + collection_formats['member_ids'] = 'csv' + if 'member_names' in params: + query_params.append(('member_names', params['member_names'])) + collection_formats['member_names'] = 'csv' + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/protection-groups/volumes', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='ProtectionGroupsVolumesGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_protection_groups_volumes_post_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + group_ids=None, # type: List[str] + group_names=None, # type: List[str] + member_names=None, # type: List[str] + member_ids=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.ProtectionGroupsVolumesResponse + """Create a volume and add it to a protection group + + Creates a volume member and adds it to a protection group. Members that are already in the protection group are not affected. For asynchronous replication, only members of the same type can belong to a protection group. The `group_names` parameter represents the name of the protection group, and the `member_names` and `member_ids` parameters represent the names or IDs of the volume. The `group_names` parameter, and either the `member_names` or `member_ids` parameters are required and must be set together. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_protection_groups_volumes_post_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] group_ids: A comma-separated list of group IDs. + :param list[str] group_names: Performs the operation on the unique group name specified. Examples of groups include host groups, pods, protection groups, and volume groups. Enter multiple names in comma-separated format. For example, `hgroup01,hgroup02`. + :param list[str] member_names: Performs the operation on the unique member name specified. Examples of members include volumes, hosts, host groups, and directories. Enter multiple names in comma-separated format. For example, `vol01,vol02`. + :param list[str] member_ids: Performs the operation on the unique member IDs specified. Enter multiple member IDs in comma-separated format. The `member_ids` or `member_names` parameter is required, but they cannot be set together. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: ProtectionGroupsVolumesResponse + If the method is called asynchronously, + returns the request thread. + """ + if group_ids is not None: + if not isinstance(group_ids, list): + group_ids = [group_ids] + if group_names is not None: + if not isinstance(group_names, list): + group_names = [group_names] + if member_names is not None: + if not isinstance(member_names, list): + member_names = [member_names] + if member_ids is not None: + if not isinstance(member_ids, list): + member_ids = [member_ids] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + collection_formats = {} + path_params = {} + + query_params = [] + if 'group_ids' in params: + query_params.append(('group_ids', params['group_ids'])) + collection_formats['group_ids'] = 'csv' + if 'group_names' in params: + query_params.append(('group_names', params['group_names'])) + collection_formats['group_names'] = 'csv' + if 'member_names' in params: + query_params.append(('member_names', params['member_names'])) + collection_formats['member_names'] = 'csv' + if 'member_ids' in params: + query_params.append(('member_ids', params['member_ids'])) + collection_formats['member_ids'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/protection-groups/volumes', 'POST', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='ProtectionGroupsVolumesResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) diff --git a/pypureclient/flasharray/FA_2_26/api/remote_pods_api.py b/pypureclient/flasharray/FA_2_26/api/remote_pods_api.py new file mode 100644 index 000000000..f8ee91895 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/api/remote_pods_api.py @@ -0,0 +1,159 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +from __future__ import absolute_import + +import re + +# python 2 and python 3 compatibility library +import six +from typing import List, Optional + +from .. import models + +class RemotePodsApi(object): + + def __init__(self, api_client): + self.api_client = api_client + + def api226_remote_pods_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + filter=None, # type: str + ids=None, # type: List[str] + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + on=None, # type: List[str] + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.RemotePodsResponse + """List remote pods + + Returns a list of pods that that are on connected arrays but not stretched to this array. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_remote_pods_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param list[str] ids: Performs the operation on the unique resource IDs specified. Enter multiple resource IDs in comma-separated format. The `ids` or `names` parameter is required, but they cannot be set together. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] on: Performs the operation on the target name specified. Enter multiple target names in comma-separated format. For example, `targetName01,targetName02`. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: RemotePodsResponse + If the method is called asynchronously, + returns the request thread. + """ + if ids is not None: + if not isinstance(ids, list): + ids = [ids] + if names is not None: + if not isinstance(names, list): + names = [names] + if on is not None: + if not isinstance(on, list): + on = [on] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_remote_pods_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_remote_pods_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'ids' in params: + query_params.append(('ids', params['ids'])) + collection_formats['ids'] = 'csv' + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'on' in params: + query_params.append(('on', params['on'])) + collection_formats['on'] = 'csv' + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/remote-pods', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='RemotePodsResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) diff --git a/pypureclient/flasharray/FA_2_26/api/remote_protection_group_snapshots_api.py b/pypureclient/flasharray/FA_2_26/api/remote_protection_group_snapshots_api.py new file mode 100644 index 000000000..d63e68907 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/api/remote_protection_group_snapshots_api.py @@ -0,0 +1,830 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +from __future__ import absolute_import + +import re + +# python 2 and python 3 compatibility library +import six +from typing import List, Optional + +from .. import models + +class RemoteProtectionGroupSnapshotsApi(object): + + def __init__(self, api_client): + self.api_client = api_client + + def api226_remote_protection_group_snapshots_delete_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + ids=None, # type: List[str] + on=None, # type: str + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """Delete a remote protection group snapshot + + Deletes a remote protection group snapshot that has been destroyed and is pending eradication. Eradicated remote protection group snapshots cannot be recovered. Remote protection group snapshots are destroyed using the `PATCH` method. The `names` parameter represents the name of the protection group snapshot. The `on` parameter represents the name of the offload target. The `names` and `on` parameters are required and must be used together. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_remote_protection_group_snapshots_delete_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param list[str] ids: Performs the operation on the unique resource IDs specified. Enter multiple resource IDs in comma-separated format. The `ids` or `names` parameter is required, but they cannot be set together. + :param str on: Performs the operation on the target name specified. For example, `targetName01`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: None + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + if ids is not None: + if not isinstance(ids, list): + ids = [ids] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + collection_formats = {} + path_params = {} + + query_params = [] + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'ids' in params: + query_params.append(('ids', params['ids'])) + collection_formats['ids'] = 'csv' + if 'on' in params: + query_params.append(('on', params['on'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/remote-protection-group-snapshots', 'DELETE', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type=None, + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_remote_protection_group_snapshots_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + destroyed=None, # type: bool + filter=None, # type: str + limit=None, # type: int + ids=None, # type: List[str] + names=None, # type: List[str] + offset=None, # type: int + on=None, # type: List[str] + sort=None, # type: List[str] + source_ids=None, # type: List[str] + source_names=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.RemoteProtectionGroupSnapshotGetResponse + """List remote protection group snapshots + + Displays a list of remote protection group snapshots. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_remote_protection_group_snapshots_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param bool destroyed: If set to `true`, lists only destroyed objects that are in the eradication pending state. If set to `false`, lists only objects that are not destroyed. For destroyed objects, the time remaining is displayed in milliseconds. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param list[str] ids: Performs the operation on the unique resource IDs specified. Enter multiple resource IDs in comma-separated format. The `ids` or `names` parameter is required, but they cannot be set together. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] on: Performs the operation on the target name specified. Enter multiple target names in comma-separated format. For example, `targetName01,targetName02`. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param list[str] source_ids: Performs the operation on the source ID specified. Enter multiple source IDs in comma-separated format. + :param list[str] source_names: Performs the operation on the source name specified. Enter multiple source names in comma-separated format. For example, `name01,name02`. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: RemoteProtectionGroupSnapshotGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if ids is not None: + if not isinstance(ids, list): + ids = [ids] + if names is not None: + if not isinstance(names, list): + names = [names] + if on is not None: + if not isinstance(on, list): + on = [on] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + if source_ids is not None: + if not isinstance(source_ids, list): + source_ids = [source_ids] + if source_names is not None: + if not isinstance(source_names, list): + source_names = [source_names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_remote_protection_group_snapshots_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_remote_protection_group_snapshots_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'destroyed' in params: + query_params.append(('destroyed', params['destroyed'])) + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'ids' in params: + query_params.append(('ids', params['ids'])) + collection_formats['ids'] = 'csv' + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'on' in params: + query_params.append(('on', params['on'])) + collection_formats['on'] = 'csv' + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'source_ids' in params: + query_params.append(('source_ids', params['source_ids'])) + collection_formats['source_ids'] = 'csv' + if 'source_names' in params: + query_params.append(('source_names', params['source_names'])) + collection_formats['source_names'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/remote-protection-group-snapshots', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='RemoteProtectionGroupSnapshotGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_remote_protection_group_snapshots_patch_with_http_info( + self, + remote_protection_group_snapshot=None, # type: models.DestroyedPatchPost + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + ids=None, # type: List[str] + on=None, # type: str + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.RemoteProtectionGroupSnapshotResponse + """Modify a remote protection group snapshot + + Modifies a remote protection group snapshot, removing it from the offload target and destroying the snapshot. The `on` parameter represents the name of the offload target. The `ids` or `names` parameter and the `on` parameter are required and must be used together. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_remote_protection_group_snapshots_patch_with_http_info(remote_protection_group_snapshot, async_req=True) + >>> result = thread.get() + + :param DestroyedPatchPost remote_protection_group_snapshot: (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param list[str] ids: Performs the operation on the unique resource IDs specified. Enter multiple resource IDs in comma-separated format. The `ids` or `names` parameter is required, but they cannot be set together. + :param str on: Performs the operation on the target name specified. For example, `targetName01`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: RemoteProtectionGroupSnapshotResponse + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + if ids is not None: + if not isinstance(ids, list): + ids = [ids] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'remote_protection_group_snapshot' is set + if remote_protection_group_snapshot is None: + raise TypeError("Missing the required parameter `remote_protection_group_snapshot` when calling `api226_remote_protection_group_snapshots_patch`") + + collection_formats = {} + path_params = {} + + query_params = [] + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'ids' in params: + query_params.append(('ids', params['ids'])) + collection_formats['ids'] = 'csv' + if 'on' in params: + query_params.append(('on', params['on'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'remote_protection_group_snapshot' in params: + body_params = params['remote_protection_group_snapshot'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/remote-protection-group-snapshots', 'PATCH', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='RemoteProtectionGroupSnapshotResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_remote_protection_group_snapshots_post_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + apply_retention=None, # type: bool + convert_source_to_baseline=None, # type: bool + for_replication=None, # type: bool + ids=None, # type: List[str] + names=None, # type: List[str] + replicate=None, # type: bool + replicate_now=None, # type: bool + allow_throttle=None, # type: bool + source_names=None, # type: List[str] + source_ids=None, # type: List[str] + on=None, # type: str + remote_protection_group_snapshot=None, # type: models.RemoteProtectionGroupSnapshotPost + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.RemoteProtectionGroupSnapshotResponse + """Create remote protection group snapshot + + Creates remote protection group snapshots. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_remote_protection_group_snapshots_post_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param bool apply_retention: If `true`, applies the local and remote retention policy to the snapshots. + :param bool convert_source_to_baseline: Set to `true` to have the snapshot be eradicated when it is no longer baseline on source. + :param bool for_replication: If `true`, destroys and eradicates the snapshot after 1 hour. + :param list[str] ids: Performs the operation on the unique resource IDs specified. Enter multiple resource IDs in comma-separated format. The `ids` or `names` parameter is required, but they cannot be set together. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param bool replicate: If set to `true`, queues up and begins replicating to each allowed target after all earlier replication sessions for the same protection group have been completed to that target. The `replicate` and `replicate_now` parameters cannot be used together. + :param bool replicate_now: If set to `true`, replicates the snapshots to each allowed target. The `replicate` and `replicate_now` parameters cannot be used together. + :param bool allow_throttle: If set to `true`, allows snapshot to fail if array health is not optimal. + :param list[str] source_names: Performs the operation on the source name specified. Enter multiple source names in comma-separated format. For example, `name01,name02`. + :param list[str] source_ids: Performs the operation on the source ID specified. Enter multiple source IDs in comma-separated format. + :param str on: Performs the operation on the target name specified. For example, `targetName01`. + :param RemoteProtectionGroupSnapshotPost remote_protection_group_snapshot: + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: RemoteProtectionGroupSnapshotResponse + If the method is called asynchronously, + returns the request thread. + """ + if ids is not None: + if not isinstance(ids, list): + ids = [ids] + if names is not None: + if not isinstance(names, list): + names = [names] + if source_names is not None: + if not isinstance(source_names, list): + source_names = [source_names] + if source_ids is not None: + if not isinstance(source_ids, list): + source_ids = [source_ids] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + collection_formats = {} + path_params = {} + + query_params = [] + if 'apply_retention' in params: + query_params.append(('apply_retention', params['apply_retention'])) + if 'convert_source_to_baseline' in params: + query_params.append(('convert_source_to_baseline', params['convert_source_to_baseline'])) + if 'for_replication' in params: + query_params.append(('for_replication', params['for_replication'])) + if 'ids' in params: + query_params.append(('ids', params['ids'])) + collection_formats['ids'] = 'csv' + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'replicate' in params: + query_params.append(('replicate', params['replicate'])) + if 'replicate_now' in params: + query_params.append(('replicate_now', params['replicate_now'])) + if 'allow_throttle' in params: + query_params.append(('allow_throttle', params['allow_throttle'])) + if 'source_names' in params: + query_params.append(('source_names', params['source_names'])) + collection_formats['source_names'] = 'csv' + if 'source_ids' in params: + query_params.append(('source_ids', params['source_ids'])) + collection_formats['source_ids'] = 'csv' + if 'on' in params: + query_params.append(('on', params['on'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'remote_protection_group_snapshot' in params: + body_params = params['remote_protection_group_snapshot'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/remote-protection-group-snapshots', 'POST', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='RemoteProtectionGroupSnapshotResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_remote_protection_group_snapshots_test_post_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + apply_retention=None, # type: bool + convert_source_to_baseline=None, # type: bool + for_replication=None, # type: bool + ids=None, # type: List[str] + names=None, # type: List[str] + replicate=None, # type: bool + replicate_now=None, # type: bool + allow_throttle=None, # type: bool + source_ids=None, # type: List[str] + source_names=None, # type: List[str] + on=None, # type: str + remote_protection_group_snapshot=None, # type: models.RemoteProtectionGroupSnapshotPost + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.TestResultWithResourceWithIdPostResponse + """Create an attempt to take remote protection group snapshot + + Create an attempt to take a remote protection group snapshot without actually taking it, to test if the snapshot can be successfully taken. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_remote_protection_group_snapshots_test_post_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param bool apply_retention: If `true`, applies the local and remote retention policy to the snapshots. + :param bool convert_source_to_baseline: Set to `true` to have the snapshot be eradicated when it is no longer baseline on source. + :param bool for_replication: If `true`, destroys and eradicates the snapshot after 1 hour. + :param list[str] ids: Performs the operation on the unique resource IDs specified. Enter multiple resource IDs in comma-separated format. The `ids` or `names` parameter is required, but they cannot be set together. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param bool replicate: If set to `true`, queues up and begins replicating to each allowed target after all earlier replication sessions for the same protection group have been completed to that target. The `replicate` and `replicate_now` parameters cannot be used together. + :param bool replicate_now: If set to `true`, replicates the snapshots to each allowed target. The `replicate` and `replicate_now` parameters cannot be used together. + :param bool allow_throttle: If set to `true`, allows snapshot to fail if array health is not optimal. + :param list[str] source_ids: Performs the operation on the source ID specified. Enter multiple source IDs in comma-separated format. + :param list[str] source_names: Performs the operation on the source name specified. Enter multiple source names in comma-separated format. For example, `name01,name02`. + :param str on: Performs the operation on the target name specified. For example, `targetName01`. + :param RemoteProtectionGroupSnapshotPost remote_protection_group_snapshot: + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: TestResultWithResourceWithIdPostResponse + If the method is called asynchronously, + returns the request thread. + """ + if ids is not None: + if not isinstance(ids, list): + ids = [ids] + if names is not None: + if not isinstance(names, list): + names = [names] + if source_ids is not None: + if not isinstance(source_ids, list): + source_ids = [source_ids] + if source_names is not None: + if not isinstance(source_names, list): + source_names = [source_names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + collection_formats = {} + path_params = {} + + query_params = [] + if 'apply_retention' in params: + query_params.append(('apply_retention', params['apply_retention'])) + if 'convert_source_to_baseline' in params: + query_params.append(('convert_source_to_baseline', params['convert_source_to_baseline'])) + if 'for_replication' in params: + query_params.append(('for_replication', params['for_replication'])) + if 'ids' in params: + query_params.append(('ids', params['ids'])) + collection_formats['ids'] = 'csv' + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'replicate' in params: + query_params.append(('replicate', params['replicate'])) + if 'replicate_now' in params: + query_params.append(('replicate_now', params['replicate_now'])) + if 'allow_throttle' in params: + query_params.append(('allow_throttle', params['allow_throttle'])) + if 'source_ids' in params: + query_params.append(('source_ids', params['source_ids'])) + collection_formats['source_ids'] = 'csv' + if 'source_names' in params: + query_params.append(('source_names', params['source_names'])) + collection_formats['source_names'] = 'csv' + if 'on' in params: + query_params.append(('on', params['on'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'remote_protection_group_snapshot' in params: + body_params = params['remote_protection_group_snapshot'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/remote-protection-group-snapshots/test', 'POST', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='TestResultWithResourceWithIdPostResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_remote_protection_group_snapshots_transfer_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + destroyed=None, # type: bool + filter=None, # type: str + limit=None, # type: int + ids=None, # type: List[str] + names=None, # type: List[str] + offset=None, # type: int + on=None, # type: List[str] + sort=None, # type: List[str] + source_ids=None, # type: List[str] + source_names=None, # type: List[str] + total_item_count=None, # type: bool + total_only=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.RemoteProtectionGroupSnapshotTransferGetResponse + """List remote protection groups with transfer statistics + + Displays a list of remote protection groups and their transfer statistics. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_remote_protection_group_snapshots_transfer_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param bool destroyed: If set to `true`, lists only destroyed objects that are in the eradication pending state. If set to `false`, lists only objects that are not destroyed. For destroyed objects, the time remaining is displayed in milliseconds. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param list[str] ids: Performs the operation on the unique resource IDs specified. Enter multiple resource IDs in comma-separated format. The `ids` or `names` parameter is required, but they cannot be set together. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] on: Performs the operation on the target name specified. Enter multiple target names in comma-separated format. For example, `targetName01,targetName02`. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param list[str] source_ids: Performs the operation on the source ID specified. Enter multiple source IDs in comma-separated format. + :param list[str] source_names: Performs the operation on the source name specified. Enter multiple source names in comma-separated format. For example, `name01,name02`. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool total_only: If set to `true`, returns the aggregate value of all items after filtering. Where it makes more sense, the average value is displayed instead. The values are displayed for each name where meaningful. If `total_only=true`, the `items` list will be empty. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: RemoteProtectionGroupSnapshotTransferGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if ids is not None: + if not isinstance(ids, list): + ids = [ids] + if names is not None: + if not isinstance(names, list): + names = [names] + if on is not None: + if not isinstance(on, list): + on = [on] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + if source_ids is not None: + if not isinstance(source_ids, list): + source_ids = [source_ids] + if source_names is not None: + if not isinstance(source_names, list): + source_names = [source_names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_remote_protection_group_snapshots_transfer_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_remote_protection_group_snapshots_transfer_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'destroyed' in params: + query_params.append(('destroyed', params['destroyed'])) + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'ids' in params: + query_params.append(('ids', params['ids'])) + collection_formats['ids'] = 'csv' + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'on' in params: + query_params.append(('on', params['on'])) + collection_formats['on'] = 'csv' + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'source_ids' in params: + query_params.append(('source_ids', params['source_ids'])) + collection_formats['source_ids'] = 'csv' + if 'source_names' in params: + query_params.append(('source_names', params['source_names'])) + collection_formats['source_names'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + if 'total_only' in params: + query_params.append(('total_only', params['total_only'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/remote-protection-group-snapshots/transfer', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='RemoteProtectionGroupSnapshotTransferGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) diff --git a/pypureclient/flasharray/FA_2_26/api/remote_protection_groups_api.py b/pypureclient/flasharray/FA_2_26/api/remote_protection_groups_api.py new file mode 100644 index 000000000..684826ca8 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/api/remote_protection_groups_api.py @@ -0,0 +1,370 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +from __future__ import absolute_import + +import re + +# python 2 and python 3 compatibility library +import six +from typing import List, Optional + +from .. import models + +class RemoteProtectionGroupsApi(object): + + def __init__(self, api_client): + self.api_client = api_client + + def api226_remote_protection_groups_delete_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + ids=None, # type: List[str] + names=None, # type: List[str] + on=None, # type: str + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """Eradicate a remote protection group + + Eradicates a remote protection group that has been destroyed and is pending eradication. Eradicated remote protection groups cannot be recovered. Remote protection groups are destroyed through the `PATCH` method. The `on` parameter represents the name of the offload target. The `ids` or `names` parameter and the `on` parameter are required and must be used together. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_remote_protection_groups_delete_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] ids: Performs the operation on the unique resource IDs specified. Enter multiple resource IDs in comma-separated format. The `ids` or `names` parameter is required, but they cannot be set together. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param str on: Performs the operation on the target name specified. For example, `targetName01`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: None + If the method is called asynchronously, + returns the request thread. + """ + if ids is not None: + if not isinstance(ids, list): + ids = [ids] + if names is not None: + if not isinstance(names, list): + names = [names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + collection_formats = {} + path_params = {} + + query_params = [] + if 'ids' in params: + query_params.append(('ids', params['ids'])) + collection_formats['ids'] = 'csv' + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'on' in params: + query_params.append(('on', params['on'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/remote-protection-groups', 'DELETE', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type=None, + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_remote_protection_groups_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + destroyed=None, # type: bool + filter=None, # type: str + ids=None, # type: List[str] + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + on=None, # type: List[str] + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.RemoteProtectionGroupGetResponse + """List remote protection groups + + Returns a list of remote protection groups. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_remote_protection_groups_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param bool destroyed: If set to `true`, lists only destroyed objects that are in the eradication pending state. If set to `false`, lists only objects that are not destroyed. For destroyed objects, the time remaining is displayed in milliseconds. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param list[str] ids: Performs the operation on the unique resource IDs specified. Enter multiple resource IDs in comma-separated format. The `ids` or `names` parameter is required, but they cannot be set together. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] on: Performs the operation on the target name specified. Enter multiple target names in comma-separated format. For example, `targetName01,targetName02`. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: RemoteProtectionGroupGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if ids is not None: + if not isinstance(ids, list): + ids = [ids] + if names is not None: + if not isinstance(names, list): + names = [names] + if on is not None: + if not isinstance(on, list): + on = [on] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_remote_protection_groups_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_remote_protection_groups_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'destroyed' in params: + query_params.append(('destroyed', params['destroyed'])) + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'ids' in params: + query_params.append(('ids', params['ids'])) + collection_formats['ids'] = 'csv' + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'on' in params: + query_params.append(('on', params['on'])) + collection_formats['on'] = 'csv' + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/remote-protection-groups', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='RemoteProtectionGroupGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_remote_protection_groups_patch_with_http_info( + self, + remote_protection_group=None, # type: models.RemoteProtectionGroup + authorization=None, # type: str + x_request_id=None, # type: str + ids=None, # type: List[str] + names=None, # type: List[str] + on=None, # type: str + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.RemoteProtectionGroupResponse + """Manage a remote protection group + + Configures the snapshot retention schedule of a remote protection group. Also destroys a remote protection group from the offload target. Before the remote protection group can be destroyed, the offload target must first be removed from the protection group via the source array. The `on` parameter represents the name of the offload target. The `ids` or `names` parameter and the `on` parameter are required and must be used together. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_remote_protection_groups_patch_with_http_info(remote_protection_group, async_req=True) + >>> result = thread.get() + + :param RemoteProtectionGroup remote_protection_group: (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] ids: Performs the operation on the unique resource IDs specified. Enter multiple resource IDs in comma-separated format. The `ids` or `names` parameter is required, but they cannot be set together. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param str on: Performs the operation on the target name specified. For example, `targetName01`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: RemoteProtectionGroupResponse + If the method is called asynchronously, + returns the request thread. + """ + if ids is not None: + if not isinstance(ids, list): + ids = [ids] + if names is not None: + if not isinstance(names, list): + names = [names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'remote_protection_group' is set + if remote_protection_group is None: + raise TypeError("Missing the required parameter `remote_protection_group` when calling `api226_remote_protection_groups_patch`") + + collection_formats = {} + path_params = {} + + query_params = [] + if 'ids' in params: + query_params.append(('ids', params['ids'])) + collection_formats['ids'] = 'csv' + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'on' in params: + query_params.append(('on', params['on'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'remote_protection_group' in params: + body_params = params['remote_protection_group'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/remote-protection-groups', 'PATCH', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='RemoteProtectionGroupResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) diff --git a/pypureclient/flasharray/FA_2_26/api/remote_volume_snapshots_api.py b/pypureclient/flasharray/FA_2_26/api/remote_volume_snapshots_api.py new file mode 100644 index 000000000..91d236473 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/api/remote_volume_snapshots_api.py @@ -0,0 +1,634 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +from __future__ import absolute_import + +import re + +# python 2 and python 3 compatibility library +import six +from typing import List, Optional + +from .. import models + +class RemoteVolumeSnapshotsApi(object): + + def __init__(self, api_client): + self.api_client = api_client + + def api226_remote_volume_snapshots_delete_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + on=None, # type: str + replication_snapshot=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """Eradicate a remote volume snapshot + + Eradicates a remote volume snapshot that has been destroyed and is pending eradication. Eradicated remote volume snapshots cannot be recovered. Remote volume snapshots are destroyed through the `PATCH` method. The `names` parameter represents the name of the volume snapshot. The `on` parameter represents the name of the offload target. The `names` and `on` parameters are required and must be used together. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_remote_volume_snapshots_delete_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param str on: Performs the operation on the target name specified. For example, `targetName01`. + :param bool replication_snapshot: If set to `true`, allow destruction/eradication of snapshots in use by replication. If set to `false`, allow destruction/eradication of snapshots not in use by replication. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: None + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + collection_formats = {} + path_params = {} + + query_params = [] + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'on' in params: + query_params.append(('on', params['on'])) + if 'replication_snapshot' in params: + query_params.append(('replication_snapshot', params['replication_snapshot'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/remote-volume-snapshots', 'DELETE', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type=None, + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_remote_volume_snapshots_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + destroyed=None, # type: bool + filter=None, # type: str + ids=None, # type: List[str] + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + on=None, # type: List[str] + sort=None, # type: List[str] + source_ids=None, # type: List[str] + source_names=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.RemoteVolumeSnapshotGetResponse + """List remote volume snapshots + + Displays a list of remote volume snapshots. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_remote_volume_snapshots_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param bool destroyed: If set to `true`, lists only destroyed objects that are in the eradication pending state. If set to `false`, lists only objects that are not destroyed. For destroyed objects, the time remaining is displayed in milliseconds. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param list[str] ids: Performs the operation on the unique resource IDs specified. Enter multiple resource IDs in comma-separated format. The `ids` or `names` parameter is required, but they cannot be set together. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] on: Performs the operation on the target name specified. Enter multiple target names in comma-separated format. For example, `targetName01,targetName02`. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param list[str] source_ids: Performs the operation on the source ID specified. Enter multiple source IDs in comma-separated format. + :param list[str] source_names: Performs the operation on the source name specified. Enter multiple source names in comma-separated format. For example, `name01,name02`. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: RemoteVolumeSnapshotGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if ids is not None: + if not isinstance(ids, list): + ids = [ids] + if names is not None: + if not isinstance(names, list): + names = [names] + if on is not None: + if not isinstance(on, list): + on = [on] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + if source_ids is not None: + if not isinstance(source_ids, list): + source_ids = [source_ids] + if source_names is not None: + if not isinstance(source_names, list): + source_names = [source_names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_remote_volume_snapshots_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_remote_volume_snapshots_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'destroyed' in params: + query_params.append(('destroyed', params['destroyed'])) + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'ids' in params: + query_params.append(('ids', params['ids'])) + collection_formats['ids'] = 'csv' + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'on' in params: + query_params.append(('on', params['on'])) + collection_formats['on'] = 'csv' + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'source_ids' in params: + query_params.append(('source_ids', params['source_ids'])) + collection_formats['source_ids'] = 'csv' + if 'source_names' in params: + query_params.append(('source_names', params['source_names'])) + collection_formats['source_names'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/remote-volume-snapshots', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='RemoteVolumeSnapshotGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_remote_volume_snapshots_patch_with_http_info( + self, + remote_volume_snapshot=None, # type: models.DestroyedPatchPost + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + on=None, # type: str + replication_snapshot=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.RemoteVolumeSnapshotResponse + """Manage a remote volume snapshot + + Destroy or recover a remote volume snapshot from the offload target. The `on` parameter represents the name of the offload target. The `names` parameter and the `on` parameter are required and must be used together. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_remote_volume_snapshots_patch_with_http_info(remote_volume_snapshot, async_req=True) + >>> result = thread.get() + + :param DestroyedPatchPost remote_volume_snapshot: (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param str on: Performs the operation on the target name specified. For example, `targetName01`. + :param bool replication_snapshot: If set to `true`, allow destruction/eradication of snapshots in use by replication. If set to `false`, allow destruction/eradication of snapshots not in use by replication. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: RemoteVolumeSnapshotResponse + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'remote_volume_snapshot' is set + if remote_volume_snapshot is None: + raise TypeError("Missing the required parameter `remote_volume_snapshot` when calling `api226_remote_volume_snapshots_patch`") + + collection_formats = {} + path_params = {} + + query_params = [] + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'on' in params: + query_params.append(('on', params['on'])) + if 'replication_snapshot' in params: + query_params.append(('replication_snapshot', params['replication_snapshot'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'remote_volume_snapshot' in params: + body_params = params['remote_volume_snapshot'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/remote-volume-snapshots', 'PATCH', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='RemoteVolumeSnapshotResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_remote_volume_snapshots_post_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + source_ids=None, # type: List[str] + source_names=None, # type: List[str] + on=None, # type: str + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.RemoteVolumeSnapshotResponse + """Create a volume snapshot on a connected remote target or offload target + + Creates a volume snapshot on the specified connected remote target or offload target. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_remote_volume_snapshots_post_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] source_ids: Performs the operation on the source ID specified. Enter multiple source IDs in comma-separated format. + :param list[str] source_names: Performs the operation on the source name specified. Enter multiple source names in comma-separated format. For example, `name01,name02`. + :param str on: Performs the operation on the target name specified. For example, `targetName01`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: RemoteVolumeSnapshotResponse + If the method is called asynchronously, + returns the request thread. + """ + if source_ids is not None: + if not isinstance(source_ids, list): + source_ids = [source_ids] + if source_names is not None: + if not isinstance(source_names, list): + source_names = [source_names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + collection_formats = {} + path_params = {} + + query_params = [] + if 'source_ids' in params: + query_params.append(('source_ids', params['source_ids'])) + collection_formats['source_ids'] = 'csv' + if 'source_names' in params: + query_params.append(('source_names', params['source_names'])) + collection_formats['source_names'] = 'csv' + if 'on' in params: + query_params.append(('on', params['on'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/remote-volume-snapshots', 'POST', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='RemoteVolumeSnapshotResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_remote_volume_snapshots_transfer_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + destroyed=None, # type: bool + filter=None, # type: str + ids=None, # type: List[str] + limit=None, # type: int + offset=None, # type: int + on=None, # type: List[str] + sort=None, # type: List[str] + source_ids=None, # type: List[str] + source_names=None, # type: List[str] + total_item_count=None, # type: bool + total_only=None, # type: bool + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.RemoteVolumeSnapshotTransferGetResponse + """List remote volume snapshots with transfer statistics + + Returns a list of remote volume snapshots and their transfer statistics. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_remote_volume_snapshots_transfer_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param bool destroyed: If set to `true`, lists only destroyed objects that are in the eradication pending state. If set to `false`, lists only objects that are not destroyed. For destroyed objects, the time remaining is displayed in milliseconds. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param list[str] ids: Performs the operation on the unique resource IDs specified. Enter multiple resource IDs in comma-separated format. The `ids` or `names` parameter is required, but they cannot be set together. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] on: Performs the operation on the target name specified. Enter multiple target names in comma-separated format. For example, `targetName01,targetName02`. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param list[str] source_ids: Performs the operation on the source ID specified. Enter multiple source IDs in comma-separated format. + :param list[str] source_names: Performs the operation on the source name specified. Enter multiple source names in comma-separated format. For example, `name01,name02`. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool total_only: If set to `true`, returns the aggregate value of all items after filtering. Where it makes more sense, the average value is displayed instead. The values are displayed for each name where meaningful. If `total_only=true`, the `items` list will be empty. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: RemoteVolumeSnapshotTransferGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if ids is not None: + if not isinstance(ids, list): + ids = [ids] + if on is not None: + if not isinstance(on, list): + on = [on] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + if source_ids is not None: + if not isinstance(source_ids, list): + source_ids = [source_ids] + if source_names is not None: + if not isinstance(source_names, list): + source_names = [source_names] + if names is not None: + if not isinstance(names, list): + names = [names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_remote_volume_snapshots_transfer_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_remote_volume_snapshots_transfer_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'destroyed' in params: + query_params.append(('destroyed', params['destroyed'])) + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'ids' in params: + query_params.append(('ids', params['ids'])) + collection_formats['ids'] = 'csv' + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'on' in params: + query_params.append(('on', params['on'])) + collection_formats['on'] = 'csv' + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'source_ids' in params: + query_params.append(('source_ids', params['source_ids'])) + collection_formats['source_ids'] = 'csv' + if 'source_names' in params: + query_params.append(('source_names', params['source_names'])) + collection_formats['source_names'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + if 'total_only' in params: + query_params.append(('total_only', params['total_only'])) + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/remote-volume-snapshots/transfer', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='RemoteVolumeSnapshotTransferGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) diff --git a/pypureclient/flasharray/FA_2_26/api/saml2_sso_api.py b/pypureclient/flasharray/FA_2_26/api/saml2_sso_api.py new file mode 100644 index 000000000..7634833a1 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/api/saml2_sso_api.py @@ -0,0 +1,683 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +from __future__ import absolute_import + +import re + +# python 2 and python 3 compatibility library +import six +from typing import List, Optional + +from .. import models + +class SAML2SSOApi(object): + + def __init__(self, api_client): + self.api_client = api_client + + def api226_sso_saml2_idps_delete_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + ids=None, # type: List[str] + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """Delete SAML2 SSO configurations + + Deletes SAML2 SSO configurations. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_sso_saml2_idps_delete_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] ids: Performs the operation on the unique resource IDs specified. Enter multiple resource IDs in comma-separated format. The `ids` or `names` parameter is required, but they cannot be set together. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: None + If the method is called asynchronously, + returns the request thread. + """ + if ids is not None: + if not isinstance(ids, list): + ids = [ids] + if names is not None: + if not isinstance(names, list): + names = [names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + collection_formats = {} + path_params = {} + + query_params = [] + if 'ids' in params: + query_params.append(('ids', params['ids'])) + collection_formats['ids'] = 'csv' + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/sso/saml2/idps', 'DELETE', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type=None, + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_sso_saml2_idps_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + filter=None, # type: str + ids=None, # type: List[str] + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.Saml2SsoGetResponse + """List SAML2 SSO configurations + + Displays the SAML2 SSO service provider and identity provider configuration settings in the array. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_sso_saml2_idps_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str continuation_token: A token used to retrieve the next page of data with some consistency guaranteed. The token is a Base64 encoded value. Set `continuation_token` to the system-generated token taken from the `x-next-token` header field of the response. A query has reached its last page when the response does not include a token. Pagination requires the `limit` and `continuation_token` query parameters. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param list[str] ids: Performs the operation on the unique resource IDs specified. Enter multiple resource IDs in comma-separated format. The `ids` or `names` parameter is required, but they cannot be set together. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: Saml2SsoGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if ids is not None: + if not isinstance(ids, list): + ids = [ids] + if names is not None: + if not isinstance(names, list): + names = [names] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_sso_saml2_idps_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_sso_saml2_idps_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'continuation_token' in params: + query_params.append(('continuation_token', params['continuation_token'])) + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'ids' in params: + query_params.append(('ids', params['ids'])) + collection_formats['ids'] = 'csv' + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/sso/saml2/idps', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='Saml2SsoGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_sso_saml2_idps_patch_with_http_info( + self, + idp=None, # type: models.Saml2SsoPatch + authorization=None, # type: str + x_request_id=None, # type: str + ids=None, # type: List[str] + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.Saml2SsoResponse + """Modify SAML2 SSO configurations + + Modifies one or more attributes of SAML2 SSO configurations. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_sso_saml2_idps_patch_with_http_info(idp, async_req=True) + >>> result = thread.get() + + :param Saml2SsoPatch idp: (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] ids: Performs the operation on the unique resource IDs specified. Enter multiple resource IDs in comma-separated format. The `ids` or `names` parameter is required, but they cannot be set together. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: Saml2SsoResponse + If the method is called asynchronously, + returns the request thread. + """ + if ids is not None: + if not isinstance(ids, list): + ids = [ids] + if names is not None: + if not isinstance(names, list): + names = [names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'idp' is set + if idp is None: + raise TypeError("Missing the required parameter `idp` when calling `api226_sso_saml2_idps_patch`") + + collection_formats = {} + path_params = {} + + query_params = [] + if 'ids' in params: + query_params.append(('ids', params['ids'])) + collection_formats['ids'] = 'csv' + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'idp' in params: + body_params = params['idp'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/sso/saml2/idps', 'PATCH', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='Saml2SsoResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_sso_saml2_idps_post_with_http_info( + self, + names=None, # type: List[str] + idp=None, # type: models.Saml2SsoPost + authorization=None, # type: str + x_request_id=None, # type: str + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.Saml2SsoResponse + """Create SAML2 SSO configurations + + Creates SAML2 SSO configurations. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_sso_saml2_idps_post_with_http_info(names, idp, async_req=True) + >>> result = thread.get() + + :param list[str] names: Performs the operation on the unique name specified. For example, `name01`. Enter multiple names in comma-separated format. (required) + :param Saml2SsoPost idp: (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: Saml2SsoResponse + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'names' is set + if names is None: + raise TypeError("Missing the required parameter `names` when calling `api226_sso_saml2_idps_post`") + # verify the required parameter 'idp' is set + if idp is None: + raise TypeError("Missing the required parameter `idp` when calling `api226_sso_saml2_idps_post`") + + collection_formats = {} + path_params = {} + + query_params = [] + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'idp' in params: + body_params = params['idp'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/sso/saml2/idps', 'POST', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='Saml2SsoResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_sso_saml2_idps_test_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + filter=None, # type: str + ids=None, # type: List[str] + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.TestResultWithResourceResponse + """List existing SAML2 SSO configurations + + Displays the existing SAML2 SSO configurations in the array. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_sso_saml2_idps_test_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str continuation_token: A token used to retrieve the next page of data with some consistency guaranteed. The token is a Base64 encoded value. Set `continuation_token` to the system-generated token taken from the `x-next-token` header field of the response. A query has reached its last page when the response does not include a token. Pagination requires the `limit` and `continuation_token` query parameters. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param list[str] ids: Performs the operation on the unique resource IDs specified. Enter multiple resource IDs in comma-separated format. The `ids` or `names` parameter is required, but they cannot be set together. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: TestResultWithResourceResponse + If the method is called asynchronously, + returns the request thread. + """ + if ids is not None: + if not isinstance(ids, list): + ids = [ids] + if names is not None: + if not isinstance(names, list): + names = [names] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_sso_saml2_idps_test_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_sso_saml2_idps_test_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'continuation_token' in params: + query_params.append(('continuation_token', params['continuation_token'])) + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'ids' in params: + query_params.append(('ids', params['ids'])) + collection_formats['ids'] = 'csv' + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/sso/saml2/idps/test', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='TestResultWithResourceResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_sso_saml2_idps_test_patch_with_http_info( + self, + idp=None, # type: models.Saml2SsoPost + authorization=None, # type: str + x_request_id=None, # type: str + ids=None, # type: List[str] + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.TestResultWithResourcePatchResponse + """Modify provided SAML2 SSO configurations + + Modifies the provided SAML2 SSO configurations. If the configurations with the specified `ids` or `names` exist, the provided configurations will overwrite the existing configurations, but will not be persisted in the array. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_sso_saml2_idps_test_patch_with_http_info(idp, async_req=True) + >>> result = thread.get() + + :param Saml2SsoPost idp: (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] ids: Performs the operation on the unique resource IDs specified. Enter multiple resource IDs in comma-separated format. The `ids` or `names` parameter is required, but they cannot be set together. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: TestResultWithResourcePatchResponse + If the method is called asynchronously, + returns the request thread. + """ + if ids is not None: + if not isinstance(ids, list): + ids = [ids] + if names is not None: + if not isinstance(names, list): + names = [names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'idp' is set + if idp is None: + raise TypeError("Missing the required parameter `idp` when calling `api226_sso_saml2_idps_test_patch`") + + collection_formats = {} + path_params = {} + + query_params = [] + if 'ids' in params: + query_params.append(('ids', params['ids'])) + collection_formats['ids'] = 'csv' + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'idp' in params: + body_params = params['idp'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/sso/saml2/idps/test', 'PATCH', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='TestResultWithResourcePatchResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) diff --git a/pypureclient/flasharray/FA_2_26/api/sessions_api.py b/pypureclient/flasharray/FA_2_26/api/sessions_api.py new file mode 100644 index 000000000..10ed19383 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/api/sessions_api.py @@ -0,0 +1,155 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +from __future__ import absolute_import + +import re + +# python 2 and python 3 compatibility library +import six +from typing import List, Optional + +from .. import models + +class SessionsApi(object): + + def __init__(self, api_client): + self.api_client = api_client + + def api226_sessions_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + filter=None, # type: str + ids=None, # type: List[str] + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.SessionGetResponse + """List session data + + Displays session data for user login events performed in the Purity//FA GUI, CLI, and REST API. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_sessions_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str continuation_token: A token used to retrieve the next page of data with some consistency guaranteed. The token is a Base64 encoded value. Set `continuation_token` to the system-generated token taken from the `x-next-token` header field of the response. A query has reached its last page when the response does not include a token. Pagination requires the `limit` and `continuation_token` query parameters. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param list[str] ids: Performs the operation on the unique resource IDs specified. Enter multiple resource IDs in comma-separated format. The `ids` or `names` parameter is required, but they cannot be set together. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: SessionGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if ids is not None: + if not isinstance(ids, list): + ids = [ids] + if names is not None: + if not isinstance(names, list): + names = [names] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_sessions_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_sessions_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'continuation_token' in params: + query_params.append(('continuation_token', params['continuation_token'])) + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'ids' in params: + query_params.append(('ids', params['ids'])) + collection_formats['ids'] = 'csv' + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/sessions', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='SessionGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) diff --git a/pypureclient/flasharray/FA_2_26/api/smi_s_api.py b/pypureclient/flasharray/FA_2_26/api/smi_s_api.py new file mode 100644 index 000000000..2739c1d91 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/api/smi_s_api.py @@ -0,0 +1,222 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +from __future__ import absolute_import + +import re + +# python 2 and python 3 compatibility library +import six +from typing import List, Optional + +from .. import models + +class SMISApi(object): + + def __init__(self, api_client): + self.api_client = api_client + + def api226_smi_s_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + filter=None, # type: str + limit=None, # type: int + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.SmisGetResponse + """List SMI-S settings + + Displays the SMI-S settings, including the name of the array and whether SLP and WBEM-HTTPS are enabled. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_smi_s_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: SmisGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_smi_s_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_smi_s_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/smi-s', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='SmisGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_smi_s_patch_with_http_info( + self, + smi_s=None, # type: models.Smis + authorization=None, # type: str + x_request_id=None, # type: str + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.SmisResponse + """Modify SLP and SMI-S + + Modifies the Service Location Protocol (SLP) and the SMI-S provider, enabling or disabling them. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_smi_s_patch_with_http_info(smi_s, async_req=True) + >>> result = thread.get() + + :param Smis smi_s: (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: SmisResponse + If the method is called asynchronously, + returns the request thread. + """ + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'smi_s' is set + if smi_s is None: + raise TypeError("Missing the required parameter `smi_s` when calling `api226_smi_s_patch`") + + collection_formats = {} + path_params = {} + + query_params = [] + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'smi_s' in params: + body_params = params['smi_s'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/smi-s', 'PATCH', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='SmisResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) diff --git a/pypureclient/flasharray/FA_2_26/api/smtp_api.py b/pypureclient/flasharray/FA_2_26/api/smtp_api.py new file mode 100644 index 000000000..f3643b16a --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/api/smtp_api.py @@ -0,0 +1,222 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +from __future__ import absolute_import + +import re + +# python 2 and python 3 compatibility library +import six +from typing import List, Optional + +from .. import models + +class SMTPApi(object): + + def __init__(self, api_client): + self.api_client = api_client + + def api226_smtp_servers_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + filter=None, # type: str + limit=None, # type: int + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.SmtpServerGetResponse + """List SMTP server attributes + + Displays SMTP server attributes. Values include `user_name`, `password`, `relay_host`, `sender_domain`, and `name`. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_smtp_servers_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: SmtpServerGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_smtp_servers_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_smtp_servers_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/smtp-servers', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='SmtpServerGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_smtp_servers_patch_with_http_info( + self, + smtp=None, # type: models.SmtpServer + authorization=None, # type: str + x_request_id=None, # type: str + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.SmtpServerResponse + """Modify SMTP server attributes + + Modifies SMTP server attributes. Values include `user_name`, `password`, `relay_host`, `sender_domain`, and `name`. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_smtp_servers_patch_with_http_info(smtp, async_req=True) + >>> result = thread.get() + + :param SmtpServer smtp: (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: SmtpServerResponse + If the method is called asynchronously, + returns the request thread. + """ + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'smtp' is set + if smtp is None: + raise TypeError("Missing the required parameter `smtp` when calling `api226_smtp_servers_patch`") + + collection_formats = {} + path_params = {} + + query_params = [] + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'smtp' in params: + body_params = params['smtp'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/smtp-servers', 'PATCH', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='SmtpServerResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) diff --git a/pypureclient/flasharray/FA_2_26/api/snmp_agents_api.py b/pypureclient/flasharray/FA_2_26/api/snmp_agents_api.py new file mode 100644 index 000000000..02bee715b --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/api/snmp_agents_api.py @@ -0,0 +1,330 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +from __future__ import absolute_import + +import re + +# python 2 and python 3 compatibility library +import six +from typing import List, Optional + +from .. import models + +class SNMPAgentsApi(object): + + def __init__(self, api_client): + self.api_client = api_client + + def api226_snmp_agents_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + filter=None, # type: str + limit=None, # type: int + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.SnmpAgentGetResponse + """List SNMP agent + + Displays the SNMP agent name and protocol attributes. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_snmp_agents_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: SnmpAgentGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_snmp_agents_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_snmp_agents_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/snmp-agents', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='SnmpAgentGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_snmp_agents_mib_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + filter=None, # type: str + limit=None, # type: int + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.SnmpAgentMibGetResponse + """List SNMP agent MIB text + + Displays the SNMP MIB text. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_snmp_agents_mib_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: SnmpAgentMibGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_snmp_agents_mib_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_snmp_agents_mib_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/snmp-agents/mib', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='SnmpAgentMibGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_snmp_agents_patch_with_http_info( + self, + snmp_agent=None, # type: models.SnmpAgentPatch + authorization=None, # type: str + x_request_id=None, # type: str + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.SnmpAgentResponse + """Modify SNMP agent + + Modifies the name or the protocol attributes of the SNMP agent. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_snmp_agents_patch_with_http_info(snmp_agent, async_req=True) + >>> result = thread.get() + + :param SnmpAgentPatch snmp_agent: (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: SnmpAgentResponse + If the method is called asynchronously, + returns the request thread. + """ + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'snmp_agent' is set + if snmp_agent is None: + raise TypeError("Missing the required parameter `snmp_agent` when calling `api226_snmp_agents_patch`") + + collection_formats = {} + path_params = {} + + query_params = [] + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'snmp_agent' in params: + body_params = params['snmp_agent'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/snmp-agents', 'PATCH', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='SnmpAgentResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) diff --git a/pypureclient/flasharray/FA_2_26/api/snmp_managers_api.py b/pypureclient/flasharray/FA_2_26/api/snmp_managers_api.py new file mode 100644 index 000000000..869d20a3c --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/api/snmp_managers_api.py @@ -0,0 +1,541 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +from __future__ import absolute_import + +import re + +# python 2 and python 3 compatibility library +import six +from typing import List, Optional + +from .. import models + +class SNMPManagersApi(object): + + def __init__(self, api_client): + self.api_client = api_client + + def api226_snmp_managers_delete_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """Delete SNMP manager + + Deletes the SNMP manager object and stops communication with specified managers. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_snmp_managers_delete_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: None + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + collection_formats = {} + path_params = {} + + query_params = [] + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/snmp-managers', 'DELETE', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type=None, + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_snmp_managers_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + filter=None, # type: str + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.SnmpManagerGetResponse + """List SNMP managers + + Displays designated SNMP managers and their communication and security attributes. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_snmp_managers_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str continuation_token: A token used to retrieve the next page of data with some consistency guaranteed. The token is a Base64 encoded value. Set `continuation_token` to the system-generated token taken from the `x-next-token` header field of the response. A query has reached its last page when the response does not include a token. Pagination requires the `limit` and `continuation_token` query parameters. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: SnmpManagerGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_snmp_managers_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_snmp_managers_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'continuation_token' in params: + query_params.append(('continuation_token', params['continuation_token'])) + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/snmp-managers', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='SnmpManagerGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_snmp_managers_patch_with_http_info( + self, + snmp_manager=None, # type: models.SnmpManagerPatch + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.SnmpManagerResponse + """Modify SNMP manager + + Modifies the name or the protocol attributes of the specified SNMP manager. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_snmp_managers_patch_with_http_info(snmp_manager, async_req=True) + >>> result = thread.get() + + :param SnmpManagerPatch snmp_manager: (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: SnmpManagerResponse + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'snmp_manager' is set + if snmp_manager is None: + raise TypeError("Missing the required parameter `snmp_manager` when calling `api226_snmp_managers_patch`") + + collection_formats = {} + path_params = {} + + query_params = [] + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'snmp_manager' in params: + body_params = params['snmp_manager'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/snmp-managers', 'PATCH', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='SnmpManagerResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_snmp_managers_post_with_http_info( + self, + snmp_manager=None, # type: models.SnmpManagerPost + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.SnmpManagerResponse + """Create SNMP manager + + Creates a Purity SNMP manager object that identifies a host (SNMP manager) and specifies the protocol attributes for communicating with it. Once a manager object is created, the transmission of SNMP traps is immediately enabled. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_snmp_managers_post_with_http_info(snmp_manager, async_req=True) + >>> result = thread.get() + + :param SnmpManagerPost snmp_manager: (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: SnmpManagerResponse + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'snmp_manager' is set + if snmp_manager is None: + raise TypeError("Missing the required parameter `snmp_manager` when calling `api226_snmp_managers_post`") + + collection_formats = {} + path_params = {} + + query_params = [] + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'snmp_manager' in params: + body_params = params['snmp_manager'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/snmp-managers', 'POST', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='SnmpManagerResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_snmp_managers_test_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + filter=None, # type: str + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.TestResultWithResourceGetResponse + """List SNMP manager test results + + Displays SNMP manager test results (traps or informs). + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_snmp_managers_test_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: TestResultWithResourceGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_snmp_managers_test_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_snmp_managers_test_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/snmp-managers/test', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='TestResultWithResourceGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) diff --git a/pypureclient/flasharray/FA_2_26/api/software_api.py b/pypureclient/flasharray/FA_2_26/api/software_api.py new file mode 100644 index 000000000..4c38c541d --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/api/software_api.py @@ -0,0 +1,1748 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +from __future__ import absolute_import + +import re + +# python 2 and python 3 compatibility library +import six +from typing import List, Optional + +from .. import models + +class SoftwareApi(object): + + def __init__(self, api_client): + self.api_client = api_client + + def api226_software_bundle_get_with_http_info( + self, + filter=None, # type: str + ids=None, # type: List[str] + limit=None, # type: int + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.SoftwareBundleGetResponse + """List software-bundle + + Displays a list of software bundles. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_software_bundle_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param list[str] ids: Performs the operation on the unique resource IDs specified. Enter multiple resource IDs in comma-separated format. The `ids` or `names` parameter is required, but they cannot be set together. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: SoftwareBundleGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if ids is not None: + if not isinstance(ids, list): + ids = [ids] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_software_bundle_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_software_bundle_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'ids' in params: + query_params.append(('ids', params['ids'])) + collection_formats['ids'] = 'csv' + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/software-bundle', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='SoftwareBundleGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_software_bundle_post_with_http_info( + self, + source=None, # type: models.SoftwareBundlePost + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.SoftwareBundleResponse + """Create software-bundle + + Creates and initiates a software bundle download. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_software_bundle_post_with_http_info(source, async_req=True) + >>> result = thread.get() + + :param SoftwareBundlePost source: (required) + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: SoftwareBundleResponse + If the method is called asynchronously, + returns the request thread. + """ + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'source' is set + if source is None: + raise TypeError("Missing the required parameter `source` when calling `api226_software_bundle_post`") + + collection_formats = {} + path_params = {} + + query_params = [] + + header_params = {} + + form_params = [] + local_var_files = {} + + body_params = None + if 'source' in params: + body_params = params['source'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/software-bundle', 'POST', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='SoftwareBundleResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_software_check_delete_with_http_info( + self, + software_versions=None, # type: List[str] + software_names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """Delete a software check task + + Deletes a software check task specified by software name and version. The check task must be queued. If the check task is running or passed/failed then the task cannot be deleted. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_software_check_delete_with_http_info(async_req=True) + >>> result = thread.get() + + :param list[str] software_versions: A comma-separated list of target software versions. + :param list[str] software_names: A comma-separated list of software names. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: None + If the method is called asynchronously, + returns the request thread. + """ + if software_versions is not None: + if not isinstance(software_versions, list): + software_versions = [software_versions] + if software_names is not None: + if not isinstance(software_names, list): + software_names = [software_names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + collection_formats = {} + path_params = {} + + query_params = [] + if 'software_versions' in params: + query_params.append(('software_versions', params['software_versions'])) + collection_formats['software_versions'] = 'csv' + if 'software_names' in params: + query_params.append(('software_names', params['software_names'])) + collection_formats['software_names'] = 'csv' + + header_params = {} + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/software-check', 'DELETE', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type=None, + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_software_check_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + filter=None, # type: str + ids=None, # type: List[str] + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + software_versions=None, # type: List[str] + software_names=None, # type: List[str] + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.SoftwareChecksGetResponse + """List software check tasks + + Displays a list of software check tasks. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_software_check_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param list[str] ids: Performs the operation on the unique resource IDs specified. Enter multiple resource IDs in comma-separated format. The `ids` or `names` parameter is required, but they cannot be set together. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] software_versions: A comma-separated list of target software versions. + :param list[str] software_names: A comma-separated list of software names. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: SoftwareChecksGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if ids is not None: + if not isinstance(ids, list): + ids = [ids] + if names is not None: + if not isinstance(names, list): + names = [names] + if software_versions is not None: + if not isinstance(software_versions, list): + software_versions = [software_versions] + if software_names is not None: + if not isinstance(software_names, list): + software_names = [software_names] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_software_check_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_software_check_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'ids' in params: + query_params.append(('ids', params['ids'])) + collection_formats['ids'] = 'csv' + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'software_versions' in params: + query_params.append(('software_versions', params['software_versions'])) + collection_formats['software_versions'] = 'csv' + if 'software_names' in params: + query_params.append(('software_names', params['software_names'])) + collection_formats['software_names'] = 'csv' + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/software-check', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='SoftwareChecksGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_software_check_post_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + software_versions=None, # type: List[str] + software_names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.SoftwareChecksResponse + """Create a software check task + + Creates a software check task. If there are no previously queued or running software check tasks, the new task immediately starts. Otherwise, it is queued and starts once all previously queued or running software check tasks finish. To create a task, use a software name and version. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_software_check_post_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] software_versions: A comma-separated list of target software versions. + :param list[str] software_names: A comma-separated list of software names. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: SoftwareChecksResponse + If the method is called asynchronously, + returns the request thread. + """ + if software_versions is not None: + if not isinstance(software_versions, list): + software_versions = [software_versions] + if software_names is not None: + if not isinstance(software_names, list): + software_names = [software_names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + collection_formats = {} + path_params = {} + + query_params = [] + if 'software_versions' in params: + query_params.append(('software_versions', params['software_versions'])) + collection_formats['software_versions'] = 'csv' + if 'software_names' in params: + query_params.append(('software_names', params['software_names'])) + collection_formats['software_names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/software-check', 'POST', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='SoftwareChecksResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_software_delete_with_http_info( + self, + names=None, # type: List[str] + software_versions=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """Delete a software package + + Deletes a software package specified by software name and version. A software package being used for an installation can be deleted if the installation is `downloading`, `downloaded`, `aborted`, or `finished`. If the software package is currently `downloading`, the download will be cancelled. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_software_delete_with_http_info(async_req=True) + >>> result = thread.get() + + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param list[str] software_versions: A comma-separated list of target software versions. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: None + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + if software_versions is not None: + if not isinstance(software_versions, list): + software_versions = [software_versions] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + collection_formats = {} + path_params = {} + + query_params = [] + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'software_versions' in params: + query_params.append(('software_versions', params['software_versions'])) + collection_formats['software_versions'] = 'csv' + + header_params = {} + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/software', 'DELETE', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type=None, + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_software_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + filter=None, # type: str + ids=None, # type: List[str] + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + versions=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.SoftwareGetResponse + """List software packages + + Displays a list of available software packages. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_software_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param list[str] ids: Performs the operation on the unique resource IDs specified. Enter multiple resource IDs in comma-separated format. The `ids` or `names` parameter is required, but they cannot be set together. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param list[str] versions: A comma-separated list of versions. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: SoftwareGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if ids is not None: + if not isinstance(ids, list): + ids = [ids] + if names is not None: + if not isinstance(names, list): + names = [names] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + if versions is not None: + if not isinstance(versions, list): + versions = [versions] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_software_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_software_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'ids' in params: + query_params.append(('ids', params['ids'])) + collection_formats['ids'] = 'csv' + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + if 'versions' in params: + query_params.append(('versions', params['versions'])) + collection_formats['versions'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/software', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='SoftwareGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_software_installation_steps_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + filter=None, # type: str + ids=None, # type: List[str] + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + software_installation_ids=None, # type: List[str] + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.SoftwareInstallationStepsGetResponse + """List software upgrade steps + + Displays a list of currently running and completed software upgrade steps. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_software_installation_steps_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str continuation_token: A token used to retrieve the next page of data with some consistency guaranteed. The token is a Base64 encoded value. Set `continuation_token` to the system-generated token taken from the `x-next-token` header field of the response. A query has reached its last page when the response does not include a token. Pagination requires the `limit` and `continuation_token` query parameters. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param list[str] ids: Performs the operation on the unique resource IDs specified. Enter multiple resource IDs in comma-separated format. The `ids` or `names` parameter is required, but they cannot be set together. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] software_installation_ids: A comma-separated list of software installation IDs. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: SoftwareInstallationStepsGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if ids is not None: + if not isinstance(ids, list): + ids = [ids] + if names is not None: + if not isinstance(names, list): + names = [names] + if software_installation_ids is not None: + if not isinstance(software_installation_ids, list): + software_installation_ids = [software_installation_ids] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_software_installation_steps_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_software_installation_steps_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'continuation_token' in params: + query_params.append(('continuation_token', params['continuation_token'])) + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'ids' in params: + query_params.append(('ids', params['ids'])) + collection_formats['ids'] = 'csv' + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'software_installation_ids' in params: + query_params.append(('software_installation_ids', params['software_installation_ids'])) + collection_formats['software_installation_ids'] = 'csv' + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/software-installation-steps', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='SoftwareInstallationStepsGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_software_installations_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + filter=None, # type: str + ids=None, # type: List[str] + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + software_ids=None, # type: List[str] + software_names=None, # type: List[str] + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.SoftwareInstallationsGetResponse + """List software upgrades + + Displays a list of software upgrades, including currently running and past upgrades. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_software_installations_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str continuation_token: A token used to retrieve the next page of data with some consistency guaranteed. The token is a Base64 encoded value. Set `continuation_token` to the system-generated token taken from the `x-next-token` header field of the response. A query has reached its last page when the response does not include a token. Pagination requires the `limit` and `continuation_token` query parameters. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param list[str] ids: Performs the operation on the unique resource IDs specified. Enter multiple resource IDs in comma-separated format. The `ids` or `names` parameter is required, but they cannot be set together. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] software_ids: A comma-separated list of software IDs. + :param list[str] software_names: A comma-separated list of software names. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: SoftwareInstallationsGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if ids is not None: + if not isinstance(ids, list): + ids = [ids] + if names is not None: + if not isinstance(names, list): + names = [names] + if software_ids is not None: + if not isinstance(software_ids, list): + software_ids = [software_ids] + if software_names is not None: + if not isinstance(software_names, list): + software_names = [software_names] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_software_installations_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_software_installations_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'continuation_token' in params: + query_params.append(('continuation_token', params['continuation_token'])) + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'ids' in params: + query_params.append(('ids', params['ids'])) + collection_formats['ids'] = 'csv' + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'software_ids' in params: + query_params.append(('software_ids', params['software_ids'])) + collection_formats['software_ids'] = 'csv' + if 'software_names' in params: + query_params.append(('software_names', params['software_names'])) + collection_formats['software_names'] = 'csv' + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/software-installations', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='SoftwareInstallationsGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_software_installations_patch_with_http_info( + self, + command=None, # type: str + current_step_id=None, # type: str + authorization=None, # type: str + x_request_id=None, # type: str + software_installations=None, # type: models.SoftwareInstallationPatch + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.SoftwareInstallationsResponse + """Modify software upgrade + + Modifies a software upgrade by continuing, retrying, or aborting it. All `override_checks` are updated before the command being issued if `add_override_checks` is present. The `override_checks` parameter is valid when `command` is `continue` or `retry`. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_software_installations_patch_with_http_info(command, current_step_id, async_req=True) + >>> result = thread.get() + + :param str command: A user command that interacts with the upgrade. Commands may only be issued when the upgrade is paused. Valid values are `continue`, `retry`, and `abort`. The `continue` command continues a `paused` upgrade. The `retry` command retries the previous step. The `abort` command aborts the upgrade. (required) + :param str current_step_id: The current step `id` of the installation. (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param SoftwareInstallationPatch software_installations: + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: SoftwareInstallationsResponse + If the method is called asynchronously, + returns the request thread. + """ + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'command' is set + if command is None: + raise TypeError("Missing the required parameter `command` when calling `api226_software_installations_patch`") + # verify the required parameter 'current_step_id' is set + if current_step_id is None: + raise TypeError("Missing the required parameter `current_step_id` when calling `api226_software_installations_patch`") + + collection_formats = {} + path_params = {} + + query_params = [] + if 'command' in params: + query_params.append(('command', params['command'])) + if 'current_step_id' in params: + query_params.append(('current_step_id', params['current_step_id'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'software_installations' in params: + body_params = params['software_installations'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/software-installations', 'PATCH', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='SoftwareInstallationsResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_software_installations_post_with_http_info( + self, + software_ids=None, # type: List[str] + software_installations=None, # type: models.SoftwareInstallationPost + authorization=None, # type: str + x_request_id=None, # type: str + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.SoftwareInstallationsResponse + """Create a software upgrade + + Creates and initiates a software upgrade. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_software_installations_post_with_http_info(software_ids, software_installations, async_req=True) + >>> result = thread.get() + + :param list[str] software_ids: A comma-separated list of software IDs. (required) + :param SoftwareInstallationPost software_installations: (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: SoftwareInstallationsResponse + If the method is called asynchronously, + returns the request thread. + """ + if software_ids is not None: + if not isinstance(software_ids, list): + software_ids = [software_ids] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'software_ids' is set + if software_ids is None: + raise TypeError("Missing the required parameter `software_ids` when calling `api226_software_installations_post`") + # verify the required parameter 'software_installations' is set + if software_installations is None: + raise TypeError("Missing the required parameter `software_installations` when calling `api226_software_installations_post`") + + collection_formats = {} + path_params = {} + + query_params = [] + if 'software_ids' in params: + query_params.append(('software_ids', params['software_ids'])) + collection_formats['software_ids'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'software_installations' in params: + body_params = params['software_installations'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/software-installations', 'POST', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='SoftwareInstallationsResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_software_patches_catalog_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + filter=None, # type: str + limit=None, # type: int + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.SoftwarePatchesGetResponse + """List available software patches + + Displays a list of available software patches. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_software_patches_catalog_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: SoftwarePatchesGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_software_patches_catalog_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_software_patches_catalog_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/software-patches/catalog', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='SoftwarePatchesGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_software_patches_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + filter=None, # type: str + ids=None, # type: List[str] + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.SoftwarePatchesGetResponse + """List software patches + + Displays a list of software patches. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_software_patches_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param list[str] ids: Performs the operation on the unique resource IDs specified. Enter multiple resource IDs in comma-separated format. The `ids` or `names` parameter is required, but they cannot be set together. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: SoftwarePatchesGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if ids is not None: + if not isinstance(ids, list): + ids = [ids] + if names is not None: + if not isinstance(names, list): + names = [names] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_software_patches_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_software_patches_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'ids' in params: + query_params.append(('ids', params['ids'])) + collection_formats['ids'] = 'csv' + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/software-patches', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='SoftwarePatchesGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_software_patches_post_with_http_info( + self, + name=None, # type: str + authorization=None, # type: str + x_request_id=None, # type: str + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.SoftwarePatchesResponse + """Create a software patch + + Creates software patch download and installation. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_software_patches_post_with_http_info(name, async_req=True) + >>> result = thread.get() + + :param str name: Name of software patch to install (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: SoftwarePatchesResponse + If the method is called asynchronously, + returns the request thread. + """ + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'name' is set + if name is None: + raise TypeError("Missing the required parameter `name` when calling `api226_software_patches_post`") + + collection_formats = {} + path_params = {} + + query_params = [] + if 'name' in params: + query_params.append(('name', params['name'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/software-patches', 'POST', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='SoftwarePatchesResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_software_post_with_http_info( + self, + software=None, # type: models.SoftwarePost + authorization=None, # type: str + x_request_id=None, # type: str + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.SoftwareResponse + """Create a software package + + Creates a software package download. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_software_post_with_http_info(software, async_req=True) + >>> result = thread.get() + + :param SoftwarePost software: (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: SoftwareResponse + If the method is called asynchronously, + returns the request thread. + """ + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'software' is set + if software is None: + raise TypeError("Missing the required parameter `software` when calling `api226_software_post`") + + collection_formats = {} + path_params = {} + + query_params = [] + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'software' in params: + body_params = params['software'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/software', 'POST', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='SoftwareResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_software_versions_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + filter=None, # type: str + limit=None, # type: int + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.SoftwareVersionsGetResponse + """List software versions + + Displays a list of software versions. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_software_versions_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: SoftwareVersionsGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_software_versions_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_software_versions_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/software-versions', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='SoftwareVersionsGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) diff --git a/pypureclient/flasharray/FA_2_26/api/subnets_api.py b/pypureclient/flasharray/FA_2_26/api/subnets_api.py new file mode 100644 index 000000000..3b8b5ae56 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/api/subnets_api.py @@ -0,0 +1,428 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +from __future__ import absolute_import + +import re + +# python 2 and python 3 compatibility library +import six +from typing import List, Optional + +from .. import models + +class SubnetsApi(object): + + def __init__(self, api_client): + self.api_client = api_client + + def api226_subnets_delete_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """Delete subnet + + Deletes subnets. A subnet can only be deleted if it has no interfaces. Interfaces must be removed by using the `network-interfaces` endpoint. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_subnets_delete_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: None + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + collection_formats = {} + path_params = {} + + query_params = [] + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/subnets', 'DELETE', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type=None, + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_subnets_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + filter=None, # type: str + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.SubnetGetResponse + """List subnets + + Displays a list of subnets with statuses and attributes. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_subnets_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str continuation_token: A token used to retrieve the next page of data with some consistency guaranteed. The token is a Base64 encoded value. Set `continuation_token` to the system-generated token taken from the `x-next-token` header field of the response. A query has reached its last page when the response does not include a token. Pagination requires the `limit` and `continuation_token` query parameters. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: SubnetGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_subnets_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_subnets_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'continuation_token' in params: + query_params.append(('continuation_token', params['continuation_token'])) + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/subnets', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='SubnetGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_subnets_patch_with_http_info( + self, + subnet=None, # type: models.SubnetPatch + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.SubnetResponse + """Modify subnet + + Modifies one or more specified subnet properties. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_subnets_patch_with_http_info(subnet, async_req=True) + >>> result = thread.get() + + :param SubnetPatch subnet: (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: SubnetResponse + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'subnet' is set + if subnet is None: + raise TypeError("Missing the required parameter `subnet` when calling `api226_subnets_patch`") + + collection_formats = {} + path_params = {} + + query_params = [] + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'subnet' in params: + body_params = params['subnet'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/subnets', 'PATCH', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='SubnetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_subnets_post_with_http_info( + self, + names=None, # type: List[str] + subnet=None, # type: models.SubnetPost + authorization=None, # type: str + x_request_id=None, # type: str + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.SubnetResponse + """Create subnet + + Creates a subnet with the specified parameters. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_subnets_post_with_http_info(names, subnet, async_req=True) + >>> result = thread.get() + + :param list[str] names: Performs the operation on the unique name specified. For example, `name01`. Enter multiple names in comma-separated format. (required) + :param SubnetPost subnet: (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: SubnetResponse + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'names' is set + if names is None: + raise TypeError("Missing the required parameter `names` when calling `api226_subnets_post`") + # verify the required parameter 'subnet' is set + if subnet is None: + raise TypeError("Missing the required parameter `subnet` when calling `api226_subnets_post`") + + collection_formats = {} + path_params = {} + + query_params = [] + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'subnet' in params: + body_params = params['subnet'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/subnets', 'POST', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='SubnetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) diff --git a/pypureclient/flasharray/FA_2_26/api/subscription_assets_api.py b/pypureclient/flasharray/FA_2_26/api/subscription_assets_api.py new file mode 100644 index 000000000..aa97ab295 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/api/subscription_assets_api.py @@ -0,0 +1,155 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +from __future__ import absolute_import + +import re + +# python 2 and python 3 compatibility library +import six +from typing import List, Optional + +from .. import models + +class SubscriptionAssetsApi(object): + + def __init__(self, api_client): + self.api_client = api_client + + def api226_subscription_assets_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + filter=None, # type: str + limit=None, # type: int + offset=None, # type: int + sort=None, # type: List[str] + names=None, # type: List[str] + ids=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.SubscriptionAssetGetResponse + """List subscription assets + + Displays information about subscription assets. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_subscription_assets_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str continuation_token: A token used to retrieve the next page of data with some consistency guaranteed. The token is a Base64 encoded value. Set `continuation_token` to the system-generated token taken from the `x-next-token` header field of the response. A query has reached its last page when the response does not include a token. Pagination requires the `limit` and `continuation_token` query parameters. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param list[str] ids: Performs the operation on the unique resource IDs specified. Enter multiple resource IDs in comma-separated format. The `ids` or `names` parameter is required, but they cannot be set together. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: SubscriptionAssetGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + if names is not None: + if not isinstance(names, list): + names = [names] + if ids is not None: + if not isinstance(ids, list): + ids = [ids] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_subscription_assets_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_subscription_assets_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'continuation_token' in params: + query_params.append(('continuation_token', params['continuation_token'])) + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'ids' in params: + query_params.append(('ids', params['ids'])) + collection_formats['ids'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/subscription-assets', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='SubscriptionAssetGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) diff --git a/pypureclient/flasharray/FA_2_26/api/subscriptions_api.py b/pypureclient/flasharray/FA_2_26/api/subscriptions_api.py new file mode 100644 index 000000000..ce123e2e3 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/api/subscriptions_api.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +from __future__ import absolute_import + +import re + +# python 2 and python 3 compatibility library +import six +from typing import List, Optional + +from .. import models + +class SubscriptionsApi(object): + + def __init__(self, api_client): + self.api_client = api_client + + def api226_subscriptions_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + filter=None, # type: str + limit=None, # type: int + offset=None, # type: int + sort=None, # type: List[str] + ids=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.SubscriptionGetResponse + """List subscriptions + + Displays information about subscriptions. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_subscriptions_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str continuation_token: A token used to retrieve the next page of data with some consistency guaranteed. The token is a Base64 encoded value. Set `continuation_token` to the system-generated token taken from the `x-next-token` header field of the response. A query has reached its last page when the response does not include a token. Pagination requires the `limit` and `continuation_token` query parameters. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param list[str] ids: Performs the operation on the unique resource IDs specified. Enter multiple resource IDs in comma-separated format. The `ids` or `names` parameter is required, but they cannot be set together. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: SubscriptionGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + if ids is not None: + if not isinstance(ids, list): + ids = [ids] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_subscriptions_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_subscriptions_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'continuation_token' in params: + query_params.append(('continuation_token', params['continuation_token'])) + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'ids' in params: + query_params.append(('ids', params['ids'])) + collection_formats['ids'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/subscriptions', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='SubscriptionGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) diff --git a/pypureclient/flasharray/FA_2_26/api/support_api.py b/pypureclient/flasharray/FA_2_26/api/support_api.py new file mode 100644 index 000000000..6b0e643cc --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/api/support_api.py @@ -0,0 +1,338 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +from __future__ import absolute_import + +import re + +# python 2 and python 3 compatibility library +import six +from typing import List, Optional + +from .. import models + +class SupportApi(object): + + def __init__(self, api_client): + self.api_client = api_client + + def api226_support_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + filter=None, # type: str + limit=None, # type: int + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.SupportGetResponse + """List connection paths + + Displays connection paths between the current array and each connected array. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_support_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str continuation_token: A token used to retrieve the next page of data with some consistency guaranteed. The token is a Base64 encoded value. Set `continuation_token` to the system-generated token taken from the `x-next-token` header field of the response. A query has reached its last page when the response does not include a token. Pagination requires the `limit` and `continuation_token` query parameters. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: SupportGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_support_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_support_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'continuation_token' in params: + query_params.append(('continuation_token', params['continuation_token'])) + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/support', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='SupportGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_support_patch_with_http_info( + self, + support=None, # type: models.SupportPatch + authorization=None, # type: str + x_request_id=None, # type: str + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.SupportResponse + """Create connection path + + Creates a connection path from the array to another array. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_support_patch_with_http_info(support, async_req=True) + >>> result = thread.get() + + :param SupportPatch support: (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: SupportResponse + If the method is called asynchronously, + returns the request thread. + """ + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'support' is set + if support is None: + raise TypeError("Missing the required parameter `support` when calling `api226_support_patch`") + + collection_formats = {} + path_params = {} + + query_params = [] + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'support' in params: + body_params = params['support'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/support', 'PATCH', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='SupportResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_support_test_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + filter=None, # type: str + limit=None, # type: int + offset=None, # type: int + sort=None, # type: List[str] + test_type=None, # type: str + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.TestResultGetResponse + """List Pure Storage Support connection data + + Displays information about whether the array can connect to Pure Storage Support by establishing a secure shell or secure HTTP connection and verifies that messages can be exchanged. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_support_test_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param str test_type: Specifies the type of test. Valid values are `all`, `phonehome`, and `remote-assist`. If not specified, defaults to `all`. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: TestResultGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_support_test_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_support_test_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'test_type' in params: + query_params.append(('test_type', params['test_type'])) + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/support/test', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='TestResultGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) diff --git a/pypureclient/flasharray/FA_2_26/api/syslog_api.py b/pypureclient/flasharray/FA_2_26/api/syslog_api.py new file mode 100644 index 000000000..262ddce8e --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/api/syslog_api.py @@ -0,0 +1,728 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +from __future__ import absolute_import + +import re + +# python 2 and python 3 compatibility library +import six +from typing import List, Optional + +from .. import models + +class SyslogApi(object): + + def __init__(self, api_client): + self.api_client = api_client + + def api226_syslog_servers_delete_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """Delete syslog server + + Deletes a configured syslog server and stop forwarding syslog messages. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_syslog_servers_delete_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: None + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + collection_formats = {} + path_params = {} + + query_params = [] + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/syslog-servers', 'DELETE', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type=None, + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_syslog_servers_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + filter=None, # type: str + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.SyslogServerGetResponse + """List syslog servers + + Displays a list of configured syslog servers. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_syslog_servers_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str continuation_token: A token used to retrieve the next page of data with some consistency guaranteed. The token is a Base64 encoded value. Set `continuation_token` to the system-generated token taken from the `x-next-token` header field of the response. A query has reached its last page when the response does not include a token. Pagination requires the `limit` and `continuation_token` query parameters. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: SyslogServerGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_syslog_servers_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_syslog_servers_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'continuation_token' in params: + query_params.append(('continuation_token', params['continuation_token'])) + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/syslog-servers', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='SyslogServerGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_syslog_servers_patch_with_http_info( + self, + syslog_server=None, # type: models.SyslogServer + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.SyslogServerResponse + """Modify syslog server + + Modifies the URI of a configured syslog server. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_syslog_servers_patch_with_http_info(syslog_server, async_req=True) + >>> result = thread.get() + + :param SyslogServer syslog_server: (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: SyslogServerResponse + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'syslog_server' is set + if syslog_server is None: + raise TypeError("Missing the required parameter `syslog_server` when calling `api226_syslog_servers_patch`") + + collection_formats = {} + path_params = {} + + query_params = [] + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'syslog_server' in params: + body_params = params['syslog_server'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/syslog-servers', 'PATCH', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='SyslogServerResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_syslog_servers_post_with_http_info( + self, + syslog_server=None, # type: models.SyslogServer + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.SyslogServerResponse + """Create syslog server + + Creates a new syslog server. Transmission of syslog messages is enabled immediately. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_syslog_servers_post_with_http_info(syslog_server, async_req=True) + >>> result = thread.get() + + :param SyslogServer syslog_server: (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: SyslogServerResponse + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'syslog_server' is set + if syslog_server is None: + raise TypeError("Missing the required parameter `syslog_server` when calling `api226_syslog_servers_post`") + + collection_formats = {} + path_params = {} + + query_params = [] + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'syslog_server' in params: + body_params = params['syslog_server'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/syslog-servers', 'POST', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='SyslogServerResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_syslog_servers_settings_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + filter=None, # type: str + limit=None, # type: int + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.SyslogServerSettingsGetResponse + """List syslog settings + + Displays syslog settings. Values include `continuation_token`, `items`, `more_items_remaining`, and `total_item_count`. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_syslog_servers_settings_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: SyslogServerSettingsGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_syslog_servers_settings_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_syslog_servers_settings_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/syslog-servers/settings', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='SyslogServerSettingsGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_syslog_servers_settings_patch_with_http_info( + self, + syslog_server_settings=None, # type: models.SyslogServerSettings + authorization=None, # type: str + x_request_id=None, # type: str + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.SyslogServerSettingsResponse + """Modify syslog settings + + Modifies syslog settings. Values include `continuation_token`, `items`, `more_items_remaining`, and `total_item_count`. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_syslog_servers_settings_patch_with_http_info(syslog_server_settings, async_req=True) + >>> result = thread.get() + + :param SyslogServerSettings syslog_server_settings: (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: SyslogServerSettingsResponse + If the method is called asynchronously, + returns the request thread. + """ + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'syslog_server_settings' is set + if syslog_server_settings is None: + raise TypeError("Missing the required parameter `syslog_server_settings` when calling `api226_syslog_servers_settings_patch`") + + collection_formats = {} + path_params = {} + + query_params = [] + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'syslog_server_settings' in params: + body_params = params['syslog_server_settings'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/syslog-servers/settings', 'PATCH', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='SyslogServerSettingsResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_syslog_servers_test_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + filter=None, # type: str + limit=None, # type: int + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.TestResultWithResourceGetResponse + """List syslog server test results + + Displays syslog server test results, which indicate whether the syslog is working and configured correctly. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_syslog_servers_test_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: TestResultWithResourceGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_syslog_servers_test_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_syslog_servers_test_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/syslog-servers/test', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='TestResultWithResourceGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) diff --git a/pypureclient/flasharray/FA_2_26/api/vchosts_api.py b/pypureclient/flasharray/FA_2_26/api/vchosts_api.py new file mode 100644 index 000000000..6778a7280 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/api/vchosts_api.py @@ -0,0 +1,1405 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +from __future__ import absolute_import + +import re + +# python 2 and python 3 compatibility library +import six +from typing import List, Optional + +from .. import models + +class VchostsApi(object): + + def __init__(self, api_client): + self.api_client = api_client + + def api226_vchosts_certificates_delete_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + ids=None, # type: List[str] + vchost_names=None, # type: List[str] + vchost_ids=None, # type: List[str] + certificate_names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """Delete a vchost certificate + + Deletes an existing vchost certificate. The `ids` query parameter alone, or the `certificate_names` query parameter together with one of `vchost_names` or `vchost_ids`, is required. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_vchosts_certificates_delete_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] ids: Performs the operation on the unique resource IDs specified. Enter multiple resource IDs in comma-separated format. The `ids` or `names` parameter is required, but they cannot be set together. + :param list[str] vchost_names: Performs the operation on the unique vchost name specified. Enter multiple names in a comma-separated format. For example, `vchost01,vchost02`. + :param list[str] vchost_ids: Performs the operation on the unique vchost IDs specified. Enter multiple vchost IDs in a comma-separated format. + :param list[str] certificate_names: The names of one or more certificates. Enter multiple names in comma-separated format. For example, `cert01,cert02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: None + If the method is called asynchronously, + returns the request thread. + """ + if ids is not None: + if not isinstance(ids, list): + ids = [ids] + if vchost_names is not None: + if not isinstance(vchost_names, list): + vchost_names = [vchost_names] + if vchost_ids is not None: + if not isinstance(vchost_ids, list): + vchost_ids = [vchost_ids] + if certificate_names is not None: + if not isinstance(certificate_names, list): + certificate_names = [certificate_names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + collection_formats = {} + path_params = {} + + query_params = [] + if 'ids' in params: + query_params.append(('ids', params['ids'])) + collection_formats['ids'] = 'csv' + if 'vchost_names' in params: + query_params.append(('vchost_names', params['vchost_names'])) + collection_formats['vchost_names'] = 'csv' + if 'vchost_ids' in params: + query_params.append(('vchost_ids', params['vchost_ids'])) + collection_formats['vchost_ids'] = 'csv' + if 'certificate_names' in params: + query_params.append(('certificate_names', params['certificate_names'])) + collection_formats['certificate_names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/vchosts/certificates', 'DELETE', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type=None, + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_vchosts_certificates_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + filter=None, # type: str + limit=None, # type: int + offset=None, # type: int + sort=None, # type: List[str] + ids=None, # type: List[str] + vchost_names=None, # type: List[str] + vchost_ids=None, # type: List[str] + certificate_names=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.VchostCertificateGetResponse + """List vchost certificates + + Displays certificates that are attached to configured vchosts on at least one endpoint. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_vchosts_certificates_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str continuation_token: A token used to retrieve the next page of data with some consistency guaranteed. The token is a Base64 encoded value. Set `continuation_token` to the system-generated token taken from the `x-next-token` header field of the response. A query has reached its last page when the response does not include a token. Pagination requires the `limit` and `continuation_token` query parameters. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param list[str] ids: Performs the operation on the unique resource IDs specified. Enter multiple resource IDs in comma-separated format. The `ids` or `names` parameter is required, but they cannot be set together. + :param list[str] vchost_names: Performs the operation on the unique vchost name specified. Enter multiple names in a comma-separated format. For example, `vchost01,vchost02`. + :param list[str] vchost_ids: Performs the operation on the unique vchost IDs specified. Enter multiple vchost IDs in a comma-separated format. + :param list[str] certificate_names: The names of one or more certificates. Enter multiple names in comma-separated format. For example, `cert01,cert02`. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: VchostCertificateGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + if ids is not None: + if not isinstance(ids, list): + ids = [ids] + if vchost_names is not None: + if not isinstance(vchost_names, list): + vchost_names = [vchost_names] + if vchost_ids is not None: + if not isinstance(vchost_ids, list): + vchost_ids = [vchost_ids] + if certificate_names is not None: + if not isinstance(certificate_names, list): + certificate_names = [certificate_names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_vchosts_certificates_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_vchosts_certificates_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'continuation_token' in params: + query_params.append(('continuation_token', params['continuation_token'])) + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'ids' in params: + query_params.append(('ids', params['ids'])) + collection_formats['ids'] = 'csv' + if 'vchost_names' in params: + query_params.append(('vchost_names', params['vchost_names'])) + collection_formats['vchost_names'] = 'csv' + if 'vchost_ids' in params: + query_params.append(('vchost_ids', params['vchost_ids'])) + collection_formats['vchost_ids'] = 'csv' + if 'certificate_names' in params: + query_params.append(('certificate_names', params['certificate_names'])) + collection_formats['certificate_names'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/vchosts/certificates', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='VchostCertificateGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_vchosts_certificates_patch_with_http_info( + self, + certificate=None, # type: models.VchostCertificatePatch + authorization=None, # type: str + x_request_id=None, # type: str + ids=None, # type: List[str] + vchost_names=None, # type: List[str] + vchost_ids=None, # type: List[str] + certificate_names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.VchostCertificateResponse + """Modify a vchost certificate + + Modifies an existing vchost certificate. The `ids` query parameter alone, or the `certificate_names` query parameter together with one of `vchost_names` or `vchost_ids`, is required. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_vchosts_certificates_patch_with_http_info(certificate, async_req=True) + >>> result = thread.get() + + :param VchostCertificatePatch certificate: (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] ids: Performs the operation on the unique resource IDs specified. Enter multiple resource IDs in comma-separated format. The `ids` or `names` parameter is required, but they cannot be set together. + :param list[str] vchost_names: Performs the operation on the unique vchost name specified. Enter multiple names in a comma-separated format. For example, `vchost01,vchost02`. + :param list[str] vchost_ids: Performs the operation on the unique vchost IDs specified. Enter multiple vchost IDs in a comma-separated format. + :param list[str] certificate_names: The names of one or more certificates. Enter multiple names in comma-separated format. For example, `cert01,cert02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: VchostCertificateResponse + If the method is called asynchronously, + returns the request thread. + """ + if ids is not None: + if not isinstance(ids, list): + ids = [ids] + if vchost_names is not None: + if not isinstance(vchost_names, list): + vchost_names = [vchost_names] + if vchost_ids is not None: + if not isinstance(vchost_ids, list): + vchost_ids = [vchost_ids] + if certificate_names is not None: + if not isinstance(certificate_names, list): + certificate_names = [certificate_names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'certificate' is set + if certificate is None: + raise TypeError("Missing the required parameter `certificate` when calling `api226_vchosts_certificates_patch`") + + collection_formats = {} + path_params = {} + + query_params = [] + if 'ids' in params: + query_params.append(('ids', params['ids'])) + collection_formats['ids'] = 'csv' + if 'vchost_names' in params: + query_params.append(('vchost_names', params['vchost_names'])) + collection_formats['vchost_names'] = 'csv' + if 'vchost_ids' in params: + query_params.append(('vchost_ids', params['vchost_ids'])) + collection_formats['vchost_ids'] = 'csv' + if 'certificate_names' in params: + query_params.append(('certificate_names', params['certificate_names'])) + collection_formats['certificate_names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'certificate' in params: + body_params = params['certificate'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/vchosts/certificates', 'PATCH', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='VchostCertificateResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_vchosts_certificates_post_with_http_info( + self, + certificate=None, # type: models.VchostCertificatePost + authorization=None, # type: str + x_request_id=None, # type: str + vchost_names=None, # type: List[str] + vchost_ids=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.VchostCertificateResponse + """Create a vchost certificate + + Creates an association between a certificate and vchost on one or more endpoints. The `vchost_names` or `vchost_ids` query parameter is required. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_vchosts_certificates_post_with_http_info(certificate, async_req=True) + >>> result = thread.get() + + :param VchostCertificatePost certificate: (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] vchost_names: Performs the operation on the unique vchost name specified. Enter multiple names in a comma-separated format. For example, `vchost01,vchost02`. + :param list[str] vchost_ids: Performs the operation on the unique vchost IDs specified. Enter multiple vchost IDs in a comma-separated format. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: VchostCertificateResponse + If the method is called asynchronously, + returns the request thread. + """ + if vchost_names is not None: + if not isinstance(vchost_names, list): + vchost_names = [vchost_names] + if vchost_ids is not None: + if not isinstance(vchost_ids, list): + vchost_ids = [vchost_ids] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'certificate' is set + if certificate is None: + raise TypeError("Missing the required parameter `certificate` when calling `api226_vchosts_certificates_post`") + + collection_formats = {} + path_params = {} + + query_params = [] + if 'vchost_names' in params: + query_params.append(('vchost_names', params['vchost_names'])) + collection_formats['vchost_names'] = 'csv' + if 'vchost_ids' in params: + query_params.append(('vchost_ids', params['vchost_ids'])) + collection_formats['vchost_ids'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'certificate' in params: + body_params = params['certificate'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/vchosts/certificates', 'POST', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='VchostCertificateResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_vchosts_delete_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + ids=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """Delete a vchost + + Deletes an existing vchost. The `names` or `ids` query parameter is required. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_vchosts_delete_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param list[str] ids: Performs the operation on the unique resource IDs specified. Enter multiple resource IDs in comma-separated format. The `ids` or `names` parameter is required, but they cannot be set together. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: None + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + if ids is not None: + if not isinstance(ids, list): + ids = [ids] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + collection_formats = {} + path_params = {} + + query_params = [] + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'ids' in params: + query_params.append(('ids', params['ids'])) + collection_formats['ids'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/vchosts', 'DELETE', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type=None, + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_vchosts_endpoints_delete_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + ids=None, # type: List[str] + vchost_names=None, # type: List[str] + vchost_ids=None, # type: List[str] + endpoints=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """Delete a vchost endpoint + + Deletes an existing vchost endpoint The `ids` query parameter alone, or the `endpoints` query parameter together with one of `vchost_names` or `vchost_ids`, is required. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_vchosts_endpoints_delete_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] ids: Performs the operation on the unique resource IDs specified. Enter multiple resource IDs in comma-separated format. The `ids` or `names` parameter is required, but they cannot be set together. + :param list[str] vchost_names: Performs the operation on the unique vchost name specified. Enter multiple names in a comma-separated format. For example, `vchost01,vchost02`. + :param list[str] vchost_ids: Performs the operation on the unique vchost IDs specified. Enter multiple vchost IDs in a comma-separated format. + :param list[str] endpoints: Performs the operation on the unique endpoints specified. Enter multiple endpoints in a comma-separated format. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: None + If the method is called asynchronously, + returns the request thread. + """ + if ids is not None: + if not isinstance(ids, list): + ids = [ids] + if vchost_names is not None: + if not isinstance(vchost_names, list): + vchost_names = [vchost_names] + if vchost_ids is not None: + if not isinstance(vchost_ids, list): + vchost_ids = [vchost_ids] + if endpoints is not None: + if not isinstance(endpoints, list): + endpoints = [endpoints] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + collection_formats = {} + path_params = {} + + query_params = [] + if 'ids' in params: + query_params.append(('ids', params['ids'])) + collection_formats['ids'] = 'csv' + if 'vchost_names' in params: + query_params.append(('vchost_names', params['vchost_names'])) + collection_formats['vchost_names'] = 'csv' + if 'vchost_ids' in params: + query_params.append(('vchost_ids', params['vchost_ids'])) + collection_formats['vchost_ids'] = 'csv' + if 'endpoints' in params: + query_params.append(('endpoints', params['endpoints'])) + collection_formats['endpoints'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/vchosts/endpoints', 'DELETE', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type=None, + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_vchosts_endpoints_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + filter=None, # type: str + limit=None, # type: int + offset=None, # type: int + sort=None, # type: List[str] + ids=None, # type: List[str] + vchost_names=None, # type: List[str] + vchost_ids=None, # type: List[str] + endpoints=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.VchostEndpointGetResponse + """List vchost endpoints + + Displays a list of vchost endpoints with their associated vchosts and certificates. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_vchosts_endpoints_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str continuation_token: A token used to retrieve the next page of data with some consistency guaranteed. The token is a Base64 encoded value. Set `continuation_token` to the system-generated token taken from the `x-next-token` header field of the response. A query has reached its last page when the response does not include a token. Pagination requires the `limit` and `continuation_token` query parameters. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param list[str] ids: Performs the operation on the unique resource IDs specified. Enter multiple resource IDs in comma-separated format. The `ids` or `names` parameter is required, but they cannot be set together. + :param list[str] vchost_names: Performs the operation on the unique vchost name specified. Enter multiple names in a comma-separated format. For example, `vchost01,vchost02`. + :param list[str] vchost_ids: Performs the operation on the unique vchost IDs specified. Enter multiple vchost IDs in a comma-separated format. + :param list[str] endpoints: Performs the operation on the unique endpoints specified. Enter multiple endpoints in a comma-separated format. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: VchostEndpointGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + if ids is not None: + if not isinstance(ids, list): + ids = [ids] + if vchost_names is not None: + if not isinstance(vchost_names, list): + vchost_names = [vchost_names] + if vchost_ids is not None: + if not isinstance(vchost_ids, list): + vchost_ids = [vchost_ids] + if endpoints is not None: + if not isinstance(endpoints, list): + endpoints = [endpoints] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_vchosts_endpoints_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_vchosts_endpoints_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'continuation_token' in params: + query_params.append(('continuation_token', params['continuation_token'])) + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'ids' in params: + query_params.append(('ids', params['ids'])) + collection_formats['ids'] = 'csv' + if 'vchost_names' in params: + query_params.append(('vchost_names', params['vchost_names'])) + collection_formats['vchost_names'] = 'csv' + if 'vchost_ids' in params: + query_params.append(('vchost_ids', params['vchost_ids'])) + collection_formats['vchost_ids'] = 'csv' + if 'endpoints' in params: + query_params.append(('endpoints', params['endpoints'])) + collection_formats['endpoints'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/vchosts/endpoints', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='VchostEndpointGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_vchosts_endpoints_patch_with_http_info( + self, + endpoint=None, # type: models.VchostEndpointPatch + authorization=None, # type: str + x_request_id=None, # type: str + ids=None, # type: List[str] + vchost_names=None, # type: List[str] + vchost_ids=None, # type: List[str] + endpoints=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.VchostEndpointResponse + """Modify a vchost endpoint + + Modifies an existing vchost endpoint. The `ids` query parameter alone, or the `endpoints` query parameter together with one of `vchost_names` or `vchost_ids`, is required. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_vchosts_endpoints_patch_with_http_info(endpoint, async_req=True) + >>> result = thread.get() + + :param VchostEndpointPatch endpoint: (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] ids: Performs the operation on the unique resource IDs specified. Enter multiple resource IDs in comma-separated format. The `ids` or `names` parameter is required, but they cannot be set together. + :param list[str] vchost_names: Performs the operation on the unique vchost name specified. Enter multiple names in a comma-separated format. For example, `vchost01,vchost02`. + :param list[str] vchost_ids: Performs the operation on the unique vchost IDs specified. Enter multiple vchost IDs in a comma-separated format. + :param list[str] endpoints: Performs the operation on the unique endpoints specified. Enter multiple endpoints in a comma-separated format. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: VchostEndpointResponse + If the method is called asynchronously, + returns the request thread. + """ + if ids is not None: + if not isinstance(ids, list): + ids = [ids] + if vchost_names is not None: + if not isinstance(vchost_names, list): + vchost_names = [vchost_names] + if vchost_ids is not None: + if not isinstance(vchost_ids, list): + vchost_ids = [vchost_ids] + if endpoints is not None: + if not isinstance(endpoints, list): + endpoints = [endpoints] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'endpoint' is set + if endpoint is None: + raise TypeError("Missing the required parameter `endpoint` when calling `api226_vchosts_endpoints_patch`") + + collection_formats = {} + path_params = {} + + query_params = [] + if 'ids' in params: + query_params.append(('ids', params['ids'])) + collection_formats['ids'] = 'csv' + if 'vchost_names' in params: + query_params.append(('vchost_names', params['vchost_names'])) + collection_formats['vchost_names'] = 'csv' + if 'vchost_ids' in params: + query_params.append(('vchost_ids', params['vchost_ids'])) + collection_formats['vchost_ids'] = 'csv' + if 'endpoints' in params: + query_params.append(('endpoints', params['endpoints'])) + collection_formats['endpoints'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'endpoint' in params: + body_params = params['endpoint'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/vchosts/endpoints', 'PATCH', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='VchostEndpointResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_vchosts_endpoints_post_with_http_info( + self, + endpoint=None, # type: models.VchostEndpointPost + authorization=None, # type: str + x_request_id=None, # type: str + vchost_names=None, # type: List[str] + vchost_ids=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.VchostEndpointResponse + """Create a vchost endpoint + + Creates a vchost endpoint. Either the `vchost_names` or `vchost_ids` query parameter is required. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_vchosts_endpoints_post_with_http_info(endpoint, async_req=True) + >>> result = thread.get() + + :param VchostEndpointPost endpoint: (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] vchost_names: Performs the operation on the unique vchost name specified. Enter multiple names in a comma-separated format. For example, `vchost01,vchost02`. + :param list[str] vchost_ids: Performs the operation on the unique vchost IDs specified. Enter multiple vchost IDs in a comma-separated format. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: VchostEndpointResponse + If the method is called asynchronously, + returns the request thread. + """ + if vchost_names is not None: + if not isinstance(vchost_names, list): + vchost_names = [vchost_names] + if vchost_ids is not None: + if not isinstance(vchost_ids, list): + vchost_ids = [vchost_ids] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'endpoint' is set + if endpoint is None: + raise TypeError("Missing the required parameter `endpoint` when calling `api226_vchosts_endpoints_post`") + + collection_formats = {} + path_params = {} + + query_params = [] + if 'vchost_names' in params: + query_params.append(('vchost_names', params['vchost_names'])) + collection_formats['vchost_names'] = 'csv' + if 'vchost_ids' in params: + query_params.append(('vchost_ids', params['vchost_ids'])) + collection_formats['vchost_ids'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'endpoint' in params: + body_params = params['endpoint'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/vchosts/endpoints', 'POST', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='VchostEndpointResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_vchosts_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + filter=None, # type: str + limit=None, # type: int + offset=None, # type: int + sort=None, # type: List[str] + names=None, # type: List[str] + ids=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.VchostGetResponse + """List vchosts + + Displays a list of vchosts. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_vchosts_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str continuation_token: A token used to retrieve the next page of data with some consistency guaranteed. The token is a Base64 encoded value. Set `continuation_token` to the system-generated token taken from the `x-next-token` header field of the response. A query has reached its last page when the response does not include a token. Pagination requires the `limit` and `continuation_token` query parameters. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param list[str] ids: Performs the operation on the unique resource IDs specified. Enter multiple resource IDs in comma-separated format. The `ids` or `names` parameter is required, but they cannot be set together. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: VchostGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + if names is not None: + if not isinstance(names, list): + names = [names] + if ids is not None: + if not isinstance(ids, list): + ids = [ids] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_vchosts_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_vchosts_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'continuation_token' in params: + query_params.append(('continuation_token', params['continuation_token'])) + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'ids' in params: + query_params.append(('ids', params['ids'])) + collection_formats['ids'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/vchosts', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='VchostGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_vchosts_patch_with_http_info( + self, + vchost=None, # type: models.VchostPatch + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + ids=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.VchostResponse + """Modify a vchost + + Modifies an existing vchost. The `names` or `ids` query parameter is required. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_vchosts_patch_with_http_info(vchost, async_req=True) + >>> result = thread.get() + + :param VchostPatch vchost: (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param list[str] ids: Performs the operation on the unique resource IDs specified. Enter multiple resource IDs in comma-separated format. The `ids` or `names` parameter is required, but they cannot be set together. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: VchostResponse + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + if ids is not None: + if not isinstance(ids, list): + ids = [ids] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'vchost' is set + if vchost is None: + raise TypeError("Missing the required parameter `vchost` when calling `api226_vchosts_patch`") + + collection_formats = {} + path_params = {} + + query_params = [] + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'ids' in params: + query_params.append(('ids', params['ids'])) + collection_formats['ids'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'vchost' in params: + body_params = params['vchost'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/vchosts', 'PATCH', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='VchostResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_vchosts_post_with_http_info( + self, + vchost=None, # type: models.VchostPost + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.VchostResponse + """Create a vchost + + Creates a vchost. The `names` query parameter is required. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_vchosts_post_with_http_info(vchost, async_req=True) + >>> result = thread.get() + + :param VchostPost vchost: (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: VchostResponse + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'vchost' is set + if vchost is None: + raise TypeError("Missing the required parameter `vchost` when calling `api226_vchosts_post`") + + collection_formats = {} + path_params = {} + + query_params = [] + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'vchost' in params: + body_params = params['vchost'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/vchosts', 'POST', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='VchostResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) diff --git a/pypureclient/flasharray/FA_2_26/api/virtual_machines_api.py b/pypureclient/flasharray/FA_2_26/api/virtual_machines_api.py new file mode 100644 index 000000000..eb1da6863 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/api/virtual_machines_api.py @@ -0,0 +1,461 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +from __future__ import absolute_import + +import re + +# python 2 and python 3 compatibility library +import six +from typing import List, Optional + +from .. import models + +class VirtualMachinesApi(object): + + def __init__(self, api_client): + self.api_client = api_client + + def api226_virtual_machine_snapshots_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + destroyed=None, # type: bool + filter=None, # type: str + limit=None, # type: int + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + vm_type=None, # type: str + vm_ids=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.VirtualMachineGetResponse + """List Virtual Machine Snapshots + + Displays a list of virtual machine snapshots, including those pending eradication. If `vm_type` is `vvol`, the `recovery_context` in the response will represent a protection group snapshot containing the virtual machine. This must be used as the `source` in the `POST /virtual-machine` method when recovering or overwriting a virtual machine from a snapshot. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_virtual_machine_snapshots_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str continuation_token: A token used to retrieve the next page of data with some consistency guaranteed. The token is a Base64 encoded value. Set `continuation_token` to the system-generated token taken from the `x-next-token` header field of the response. A query has reached its last page when the response does not include a token. Pagination requires the `limit` and `continuation_token` query parameters. + :param bool destroyed: If set to `true`, lists only destroyed objects that are in the eradication pending state. If set to `false`, lists only objects that are not destroyed. For destroyed objects, the time remaining is displayed in milliseconds. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param str vm_type: The type of virtual machine. The only valid value is `vvol`. + :param list[str] vm_ids: Performs the operation on the unique virtual machine IDs specified. Enter multiple resource IDs in a comma-separated format. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: VirtualMachineGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + if vm_ids is not None: + if not isinstance(vm_ids, list): + vm_ids = [vm_ids] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_virtual_machine_snapshots_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_virtual_machine_snapshots_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'continuation_token' in params: + query_params.append(('continuation_token', params['continuation_token'])) + if 'destroyed' in params: + query_params.append(('destroyed', params['destroyed'])) + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + if 'vm_type' in params: + query_params.append(('vm_type', params['vm_type'])) + if 'vm_ids' in params: + query_params.append(('vm_ids', params['vm_ids'])) + collection_formats['vm_ids'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/virtual-machine-snapshots', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='VirtualMachineGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_virtual_machines_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + destroyed=None, # type: bool + filter=None, # type: str + limit=None, # type: int + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + vm_type=None, # type: str + vm_ids=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.VirtualMachineGetResponse + """List Virtual Machines + + Displays a list of virtual machines, including those pending eradication. If `vm_type` is `vvol`, the `recovery_context` in the response will represent the most recent snapshot of the config vVol. This must be used as the `source` in the `PATCH` method when recovering a virtual machine from the destroyed state. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_virtual_machines_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str continuation_token: A token used to retrieve the next page of data with some consistency guaranteed. The token is a Base64 encoded value. Set `continuation_token` to the system-generated token taken from the `x-next-token` header field of the response. A query has reached its last page when the response does not include a token. Pagination requires the `limit` and `continuation_token` query parameters. + :param bool destroyed: If set to `true`, lists only destroyed objects that are in the eradication pending state. If set to `false`, lists only objects that are not destroyed. For destroyed objects, the time remaining is displayed in milliseconds. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param str vm_type: The type of virtual machine. The only valid value is `vvol`. + :param list[str] vm_ids: Performs the operation on the unique virtual machine IDs specified. Enter multiple virtual machine IDs in a comma-separated format. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: VirtualMachineGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + if vm_ids is not None: + if not isinstance(vm_ids, list): + vm_ids = [vm_ids] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_virtual_machines_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_virtual_machines_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'continuation_token' in params: + query_params.append(('continuation_token', params['continuation_token'])) + if 'destroyed' in params: + query_params.append(('destroyed', params['destroyed'])) + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + if 'vm_type' in params: + query_params.append(('vm_type', params['vm_type'])) + if 'vm_ids' in params: + query_params.append(('vm_ids', params['vm_ids'])) + collection_formats['vm_ids'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/virtual-machines', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='VirtualMachineGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_virtual_machines_patch_with_http_info( + self, + virtual_machine=None, # type: models.VirtualMachinePost + authorization=None, # type: str + x_request_id=None, # type: str + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.VirtualMachineResponse + """Update a virtual machine + + Updates a virtual machine, recovering it from the destroyed state. If the virtual machine is of type `vvol`, the `source` property of the request body must be a `recovery_context` value retrieved from the `GET /virtual-machines` endpoint. If recovering the virtual machine will cause a conflict with an existing virtual machine, the operation will fail. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_virtual_machines_patch_with_http_info(virtual_machine, async_req=True) + >>> result = thread.get() + + :param VirtualMachinePost virtual_machine: (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: VirtualMachineResponse + If the method is called asynchronously, + returns the request thread. + """ + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'virtual_machine' is set + if virtual_machine is None: + raise TypeError("Missing the required parameter `virtual_machine` when calling `api226_virtual_machines_patch`") + + collection_formats = {} + path_params = {} + + query_params = [] + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'virtual_machine' in params: + body_params = params['virtual_machine'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/virtual-machines', 'PATCH', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='VirtualMachineResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_virtual_machines_post_with_http_info( + self, + virtual_machine=None, # type: models.VirtualMachinePost + authorization=None, # type: str + x_request_id=None, # type: str + overwrite=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.VirtualMachineResponse + """Create a virtual machine + + Creates one or more virtual machines from a protection group snapshot. If the virtual machine is of type `vvol`, the `source` property of the request body must be a `recovery_context` value retrieved from the `GET /virtual-machine-snapshots` endpoint. If `overwrite` is specified, an existing virtual machine will have its volumes overwritten by the snapshot. Otherwise, a new virtual machine will be created from the snapshot. If creating the new virtual machine will cause a conflict with an existing virtual machine, the operation will fail. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_virtual_machines_post_with_http_info(virtual_machine, async_req=True) + >>> result = thread.get() + + :param VirtualMachinePost virtual_machine: (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param bool overwrite: If set to `true`, overwrites an existing object during an object copy operation. If set to `false` or not set at all and the target name is an existing object, the copy operation fails. Required if the `source` body parameter is set and the source overwrites an existing object during the copy operation. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: VirtualMachineResponse + If the method is called asynchronously, + returns the request thread. + """ + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'virtual_machine' is set + if virtual_machine is None: + raise TypeError("Missing the required parameter `virtual_machine` when calling `api226_virtual_machines_post`") + + collection_formats = {} + path_params = {} + + query_params = [] + if 'overwrite' in params: + query_params.append(('overwrite', params['overwrite'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'virtual_machine' in params: + body_params = params['virtual_machine'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/virtual-machines', 'POST', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='VirtualMachineResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) diff --git a/pypureclient/flasharray/FA_2_26/api/volume_groups_api.py b/pypureclient/flasharray/FA_2_26/api/volume_groups_api.py new file mode 100644 index 000000000..b3e615885 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/api/volume_groups_api.py @@ -0,0 +1,901 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +from __future__ import absolute_import + +import re + +# python 2 and python 3 compatibility library +import six +from typing import List, Optional + +from .. import models + +class VolumeGroupsApi(object): + + def __init__(self, api_client): + self.api_client = api_client + + def api226_volume_groups_delete_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + ids=None, # type: List[str] + names=None, # type: List[str] + eradicate_contents=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """Delete a volume group + + Deletes a volume group that has been destroyed and is pending eradication. Eradicated volume groups cannot be recovered. Volume groups are destroyed through the PATCH method. The `ids` or `names` parameter is required, but they cannot be set together. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_volume_groups_delete_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] ids: Performs the operation on the unique resource IDs specified. Enter multiple resource IDs in comma-separated format. The `ids` or `names` parameter is required, but they cannot be set together. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param bool eradicate_contents: Set to `true` to eradicate contents (e.g., volumes, protection groups, snapshots) and containers (e.g., pods, volume groups). This enables you to eradicate containers with contents. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: None + If the method is called asynchronously, + returns the request thread. + """ + if ids is not None: + if not isinstance(ids, list): + ids = [ids] + if names is not None: + if not isinstance(names, list): + names = [names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + collection_formats = {} + path_params = {} + + query_params = [] + if 'ids' in params: + query_params.append(('ids', params['ids'])) + collection_formats['ids'] = 'csv' + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'eradicate_contents' in params: + query_params.append(('eradicate_contents', params['eradicate_contents'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/volume-groups', 'DELETE', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type=None, + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_volume_groups_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + destroyed=None, # type: bool + filter=None, # type: str + ids=None, # type: List[str] + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + total_only=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.VolumeGroupGetResponse + """List volume groups + + Displays a list of volume groups, including those pending eradication. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_volume_groups_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str continuation_token: A token used to retrieve the next page of data with some consistency guaranteed. The token is a Base64 encoded value. Set `continuation_token` to the system-generated token taken from the `x-next-token` header field of the response. A query has reached its last page when the response does not include a token. Pagination requires the `limit` and `continuation_token` query parameters. + :param bool destroyed: If set to `true`, lists only destroyed objects that are in the eradication pending state. If set to `false`, lists only objects that are not destroyed. For destroyed objects, the time remaining is displayed in milliseconds. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param list[str] ids: Performs the operation on the unique resource IDs specified. Enter multiple resource IDs in comma-separated format. The `ids` or `names` parameter is required, but they cannot be set together. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool total_only: If set to `true`, returns the aggregate value of all items after filtering. Where it makes more sense, the average value is displayed instead. The values are displayed for each name where meaningful. If `total_only=true`, the `items` list will be empty. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: VolumeGroupGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if ids is not None: + if not isinstance(ids, list): + ids = [ids] + if names is not None: + if not isinstance(names, list): + names = [names] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_volume_groups_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_volume_groups_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'continuation_token' in params: + query_params.append(('continuation_token', params['continuation_token'])) + if 'destroyed' in params: + query_params.append(('destroyed', params['destroyed'])) + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'ids' in params: + query_params.append(('ids', params['ids'])) + collection_formats['ids'] = 'csv' + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + if 'total_only' in params: + query_params.append(('total_only', params['total_only'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/volume-groups', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='VolumeGroupGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_volume_groups_patch_with_http_info( + self, + volume_group=None, # type: models.VolumeGroupPatch + authorization=None, # type: str + x_request_id=None, # type: str + ids=None, # type: List[str] + names=None, # type: List[str] + destroy_contents=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.VolumeGroupResponse + """Modify a volume group + + Modifies a volume group. You can rename, destroy, recover, or set QoS limits for a volume group. To rename a volume group, set `name` to the new name. To destroy a volume group, set `destroyed=true`. To recover a volume group that has been destroyed and is pending eradication, set `destroyed=false`. Sets the bandwidth and IOPs limits of a volume group through the respective `bandwidth_limit` and `iops_limit` parameter. The `ids` or `names` parameter is required, but they cannot be set together. Sets the priority adjustment for a volume group using the `priority_adjustment_operator` and `priority_adjustment_value` fields. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_volume_groups_patch_with_http_info(volume_group, async_req=True) + >>> result = thread.get() + + :param VolumeGroupPatch volume_group: (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] ids: Performs the operation on the unique resource IDs specified. Enter multiple resource IDs in comma-separated format. The `ids` or `names` parameter is required, but they cannot be set together. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param bool destroy_contents: Set to `true` to destroy contents (e.g., volumes, protection groups, snapshots) and containers (e.g., pods, volume groups). This enables you to destroy containers with contents. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: VolumeGroupResponse + If the method is called asynchronously, + returns the request thread. + """ + if ids is not None: + if not isinstance(ids, list): + ids = [ids] + if names is not None: + if not isinstance(names, list): + names = [names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'volume_group' is set + if volume_group is None: + raise TypeError("Missing the required parameter `volume_group` when calling `api226_volume_groups_patch`") + + collection_formats = {} + path_params = {} + + query_params = [] + if 'ids' in params: + query_params.append(('ids', params['ids'])) + collection_formats['ids'] = 'csv' + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'destroy_contents' in params: + query_params.append(('destroy_contents', params['destroy_contents'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'volume_group' in params: + body_params = params['volume_group'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/volume-groups', 'PATCH', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='VolumeGroupResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_volume_groups_performance_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + destroyed=None, # type: bool + filter=None, # type: str + end_time=None, # type: int + resolution=None, # type: int + start_time=None, # type: int + ids=None, # type: List[str] + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + total_only=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.ResourcePerformanceGetResponse + """List volume group performance data + + Returns real-time and historical performance data, real-time latency data, and average I/O sizes for each volume group and and as a total of all volume groups across the entire array. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_volume_groups_performance_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param bool destroyed: If set to `true`, lists only destroyed objects that are in the eradication pending state. If set to `false`, lists only objects that are not destroyed. For destroyed objects, the time remaining is displayed in milliseconds. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param int end_time: Displays historical performance data for the specified time window, where `start_time` is the beginning of the time window, and `end_time` is the end of the time window. The `start_time` and `end_time` parameters are specified in milliseconds since the UNIX epoch. If `start_time` is not specified, the start time will default to one resolution before the end time, meaning that the most recent sample of performance data will be displayed. If `end_time`is not specified, the end time will default to the current time. Include the `resolution` parameter to display the performance data at the specified resolution. If not specified, `resolution` defaults to the lowest valid resolution. + :param int resolution: The number of milliseconds between samples of historical data. For array-wide performance metrics (`/arrays/performance` endpoint), valid values are `1000` (1 second), `30000` (30 seconds), `300000` (5 minutes), `1800000` (30 minutes), `7200000` (2 hours), `28800000` (8 hours), and `86400000` (24 hours). For performance metrics on storage objects (`/performance` endpoint), such as volumes, valid values are `30000` (30 seconds), `300000` (5 minutes), `1800000` (30 minutes), `7200000` (2 hours), `28800000` (8 hours), and `86400000` (24 hours). For space metrics, (`/space` endpoint), valid values are `300000` (5 minutes), `1800000` (30 minutes), `7200000` (2 hours), `28800000` (8 hours), and `86400000` (24 hours). Include the `start_time` parameter to display the performance data starting at the specified start time. If `start_time` is not specified, the start time will default to one resolution before the end time, meaning that the most recent sample of performance data will be displayed. Include the `end_time` parameter to display the performance data until the specified end time. If `end_time`is not specified, the end time will default to the current time. If the `resolution` parameter is not specified but either the `start_time` or `end_time` parameter is, then `resolution` will default to the lowest valid resolution. + :param int start_time: Displays historical performance data for the specified time window, where `start_time` is the beginning of the time window, and `end_time` is the end of the time window. The `start_time` and `end_time` parameters are specified in milliseconds since the UNIX epoch. If `start_time` is not specified, the start time will default to one resolution before the end time, meaning that the most recent sample of performance data will be displayed. If `end_time`is not specified, the end time will default to the current time. Include the `resolution` parameter to display the performance data at the specified resolution. If not specified, `resolution` defaults to the lowest valid resolution. + :param list[str] ids: Performs the operation on the unique resource IDs specified. Enter multiple resource IDs in comma-separated format. The `ids` or `names` parameter is required, but they cannot be set together. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool total_only: If set to `true`, returns the aggregate value of all items after filtering. Where it makes more sense, the average value is displayed instead. The values are displayed for each name where meaningful. If `total_only=true`, the `items` list will be empty. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: ResourcePerformanceGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if ids is not None: + if not isinstance(ids, list): + ids = [ids] + if names is not None: + if not isinstance(names, list): + names = [names] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'resolution' in params and params['resolution'] < 0: + raise ValueError("Invalid value for parameter `resolution` when calling `api226_volume_groups_performance_get`, must be a value greater than or equal to `0`") + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_volume_groups_performance_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_volume_groups_performance_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'destroyed' in params: + query_params.append(('destroyed', params['destroyed'])) + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'end_time' in params: + query_params.append(('end_time', params['end_time'])) + if 'resolution' in params: + query_params.append(('resolution', params['resolution'])) + if 'start_time' in params: + query_params.append(('start_time', params['start_time'])) + if 'ids' in params: + query_params.append(('ids', params['ids'])) + collection_formats['ids'] = 'csv' + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + if 'total_only' in params: + query_params.append(('total_only', params['total_only'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/volume-groups/performance', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='ResourcePerformanceGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_volume_groups_post_with_http_info( + self, + volume_group=None, # type: models.VolumeGroupPost + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.VolumeGroupResponse + """Create a volume group + + Creates a volume group. The volume group itself does not contain any meaningful content; instead, it acts as a container that is used to organize volumes. Once a volume group has been created, volumes can be created inside the volume group or moved into and out of the volume group. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_volume_groups_post_with_http_info(volume_group, async_req=True) + >>> result = thread.get() + + :param VolumeGroupPost volume_group: (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: VolumeGroupResponse + If the method is called asynchronously, + returns the request thread. + """ + if names is not None: + if not isinstance(names, list): + names = [names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'volume_group' is set + if volume_group is None: + raise TypeError("Missing the required parameter `volume_group` when calling `api226_volume_groups_post`") + + collection_formats = {} + path_params = {} + + query_params = [] + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'volume_group' in params: + body_params = params['volume_group'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/volume-groups', 'POST', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='VolumeGroupResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_volume_groups_space_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + destroyed=None, # type: bool + filter=None, # type: str + end_time=None, # type: int + resolution=None, # type: int + start_time=None, # type: int + ids=None, # type: List[str] + limit=None, # type: int + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + total_only=None, # type: bool + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.ResourceSpaceGetResponse + """List volume group space information + + Displays the provisioned size and physical storage consumption data for each volume group. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_volume_groups_space_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param bool destroyed: If set to `true`, lists only destroyed objects that are in the eradication pending state. If set to `false`, lists only objects that are not destroyed. For destroyed objects, the time remaining is displayed in milliseconds. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param int end_time: Displays historical performance data for the specified time window, where `start_time` is the beginning of the time window, and `end_time` is the end of the time window. The `start_time` and `end_time` parameters are specified in milliseconds since the UNIX epoch. If `start_time` is not specified, the start time will default to one resolution before the end time, meaning that the most recent sample of performance data will be displayed. If `end_time`is not specified, the end time will default to the current time. Include the `resolution` parameter to display the performance data at the specified resolution. If not specified, `resolution` defaults to the lowest valid resolution. + :param int resolution: The number of milliseconds between samples of historical data. For array-wide performance metrics (`/arrays/performance` endpoint), valid values are `1000` (1 second), `30000` (30 seconds), `300000` (5 minutes), `1800000` (30 minutes), `7200000` (2 hours), `28800000` (8 hours), and `86400000` (24 hours). For performance metrics on storage objects (`/performance` endpoint), such as volumes, valid values are `30000` (30 seconds), `300000` (5 minutes), `1800000` (30 minutes), `7200000` (2 hours), `28800000` (8 hours), and `86400000` (24 hours). For space metrics, (`/space` endpoint), valid values are `300000` (5 minutes), `1800000` (30 minutes), `7200000` (2 hours), `28800000` (8 hours), and `86400000` (24 hours). Include the `start_time` parameter to display the performance data starting at the specified start time. If `start_time` is not specified, the start time will default to one resolution before the end time, meaning that the most recent sample of performance data will be displayed. Include the `end_time` parameter to display the performance data until the specified end time. If `end_time`is not specified, the end time will default to the current time. If the `resolution` parameter is not specified but either the `start_time` or `end_time` parameter is, then `resolution` will default to the lowest valid resolution. + :param int start_time: Displays historical performance data for the specified time window, where `start_time` is the beginning of the time window, and `end_time` is the end of the time window. The `start_time` and `end_time` parameters are specified in milliseconds since the UNIX epoch. If `start_time` is not specified, the start time will default to one resolution before the end time, meaning that the most recent sample of performance data will be displayed. If `end_time`is not specified, the end time will default to the current time. Include the `resolution` parameter to display the performance data at the specified resolution. If not specified, `resolution` defaults to the lowest valid resolution. + :param list[str] ids: Performs the operation on the unique resource IDs specified. Enter multiple resource IDs in comma-separated format. The `ids` or `names` parameter is required, but they cannot be set together. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool total_only: If set to `true`, returns the aggregate value of all items after filtering. Where it makes more sense, the average value is displayed instead. The values are displayed for each name where meaningful. If `total_only=true`, the `items` list will be empty. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: ResourceSpaceGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if ids is not None: + if not isinstance(ids, list): + ids = [ids] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + if names is not None: + if not isinstance(names, list): + names = [names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'resolution' in params and params['resolution'] < 0: + raise ValueError("Invalid value for parameter `resolution` when calling `api226_volume_groups_space_get`, must be a value greater than or equal to `0`") + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_volume_groups_space_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_volume_groups_space_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'destroyed' in params: + query_params.append(('destroyed', params['destroyed'])) + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'end_time' in params: + query_params.append(('end_time', params['end_time'])) + if 'resolution' in params: + query_params.append(('resolution', params['resolution'])) + if 'start_time' in params: + query_params.append(('start_time', params['start_time'])) + if 'ids' in params: + query_params.append(('ids', params['ids'])) + collection_formats['ids'] = 'csv' + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + if 'total_only' in params: + query_params.append(('total_only', params['total_only'])) + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/volume-groups/space', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='ResourceSpaceGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_volume_groups_volumes_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + filter=None, # type: str + group_ids=None, # type: List[str] + limit=None, # type: int + member_ids=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + group_names=None, # type: List[str] + member_names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.MemberGetResponse + """List volume groups with volumes + + Returns a list of volume groups that contain volumes. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_volume_groups_volumes_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str continuation_token: A token used to retrieve the next page of data with some consistency guaranteed. The token is a Base64 encoded value. Set `continuation_token` to the system-generated token taken from the `x-next-token` header field of the response. A query has reached its last page when the response does not include a token. Pagination requires the `limit` and `continuation_token` query parameters. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param list[str] group_ids: A comma-separated list of group IDs. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param list[str] member_ids: Performs the operation on the unique member IDs specified. Enter multiple member IDs in comma-separated format. The `member_ids` or `member_names` parameter is required, but they cannot be set together. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param list[str] group_names: Performs the operation on the unique group name specified. Examples of groups include host groups, pods, protection groups, and volume groups. Enter multiple names in comma-separated format. For example, `hgroup01,hgroup02`. + :param list[str] member_names: Performs the operation on the unique member name specified. Examples of members include volumes, hosts, host groups, and directories. Enter multiple names in comma-separated format. For example, `vol01,vol02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: MemberGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if group_ids is not None: + if not isinstance(group_ids, list): + group_ids = [group_ids] + if member_ids is not None: + if not isinstance(member_ids, list): + member_ids = [member_ids] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + if group_names is not None: + if not isinstance(group_names, list): + group_names = [group_names] + if member_names is not None: + if not isinstance(member_names, list): + member_names = [member_names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_volume_groups_volumes_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_volume_groups_volumes_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'continuation_token' in params: + query_params.append(('continuation_token', params['continuation_token'])) + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'group_ids' in params: + query_params.append(('group_ids', params['group_ids'])) + collection_formats['group_ids'] = 'csv' + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'member_ids' in params: + query_params.append(('member_ids', params['member_ids'])) + collection_formats['member_ids'] = 'csv' + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + if 'group_names' in params: + query_params.append(('group_names', params['group_names'])) + collection_formats['group_names'] = 'csv' + if 'member_names' in params: + query_params.append(('member_names', params['member_names'])) + collection_formats['member_names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/volume-groups/volumes', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='MemberGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) diff --git a/pypureclient/flasharray/FA_2_26/api/volume_snapshots_api.py b/pypureclient/flasharray/FA_2_26/api/volume_snapshots_api.py new file mode 100644 index 000000000..4e6fff7e0 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/api/volume_snapshots_api.py @@ -0,0 +1,1114 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +from __future__ import absolute_import + +import re + +# python 2 and python 3 compatibility library +import six +from typing import List, Optional + +from .. import models + +class VolumeSnapshotsApi(object): + + def __init__(self, api_client): + self.api_client = api_client + + def api226_volume_snapshots_delete_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + ids=None, # type: List[str] + names=None, # type: List[str] + replication_snapshot=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """Delete a volume snapshot + + Deletes a volume snapshot that has been destroyed and is pending eradication. Eradicated volume snapshots cannot be recovered. Volume snapshots are destroyed by using the `PATCH` method. The `ids` or `names` parameter is required, but they cannot be set together. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_volume_snapshots_delete_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] ids: Performs the operation on the unique resource IDs specified. Enter multiple resource IDs in comma-separated format. The `ids` or `names` parameter is required, but they cannot be set together. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param bool replication_snapshot: If set to `true`, allow destruction/eradication of snapshots in use by replication. If set to `false`, allow destruction/eradication of snapshots not in use by replication. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: None + If the method is called asynchronously, + returns the request thread. + """ + if ids is not None: + if not isinstance(ids, list): + ids = [ids] + if names is not None: + if not isinstance(names, list): + names = [names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + collection_formats = {} + path_params = {} + + query_params = [] + if 'ids' in params: + query_params.append(('ids', params['ids'])) + collection_formats['ids'] = 'csv' + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'replication_snapshot' in params: + query_params.append(('replication_snapshot', params['replication_snapshot'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/volume-snapshots', 'DELETE', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type=None, + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_volume_snapshots_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + destroyed=None, # type: bool + filter=None, # type: str + ids=None, # type: List[str] + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + source_ids=None, # type: List[str] + source_names=None, # type: List[str] + total_item_count=None, # type: bool + total_only=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.VolumeSnapshotGetResponse + """List volume snapshots + + Displays a list of volume snapshots, including those pending eradication. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_volume_snapshots_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str continuation_token: A token used to retrieve the next page of data with some consistency guaranteed. The token is a Base64 encoded value. Set `continuation_token` to the system-generated token taken from the `x-next-token` header field of the response. A query has reached its last page when the response does not include a token. Pagination requires the `limit` and `continuation_token` query parameters. + :param bool destroyed: If set to `true`, lists only destroyed objects that are in the eradication pending state. If set to `false`, lists only objects that are not destroyed. For destroyed objects, the time remaining is displayed in milliseconds. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param list[str] ids: Performs the operation on the unique resource IDs specified. Enter multiple resource IDs in comma-separated format. The `ids` or `names` parameter is required, but they cannot be set together. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param list[str] source_ids: Performs the operation on the source ID specified. Enter multiple source IDs in comma-separated format. + :param list[str] source_names: Performs the operation on the source name specified. Enter multiple source names in comma-separated format. For example, `name01,name02`. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool total_only: If set to `true`, returns the aggregate value of all items after filtering. Where it makes more sense, the average value is displayed instead. The values are displayed for each name where meaningful. If `total_only=true`, the `items` list will be empty. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: VolumeSnapshotGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if ids is not None: + if not isinstance(ids, list): + ids = [ids] + if names is not None: + if not isinstance(names, list): + names = [names] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + if source_ids is not None: + if not isinstance(source_ids, list): + source_ids = [source_ids] + if source_names is not None: + if not isinstance(source_names, list): + source_names = [source_names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_volume_snapshots_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_volume_snapshots_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'continuation_token' in params: + query_params.append(('continuation_token', params['continuation_token'])) + if 'destroyed' in params: + query_params.append(('destroyed', params['destroyed'])) + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'ids' in params: + query_params.append(('ids', params['ids'])) + collection_formats['ids'] = 'csv' + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'source_ids' in params: + query_params.append(('source_ids', params['source_ids'])) + collection_formats['source_ids'] = 'csv' + if 'source_names' in params: + query_params.append(('source_names', params['source_names'])) + collection_formats['source_names'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + if 'total_only' in params: + query_params.append(('total_only', params['total_only'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/volume-snapshots', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='VolumeSnapshotGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_volume_snapshots_patch_with_http_info( + self, + volume_snapshot=None, # type: models.VolumeSnapshotPatch + authorization=None, # type: str + x_request_id=None, # type: str + ids=None, # type: List[str] + names=None, # type: List[str] + replication_snapshot=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.VolumeSnapshotResponse + """Modify a volume snapshot + + Modifies a volume snapshot by renaming, destroying, or recovering it. To rename the suffix of a volume snapshot, set `name` to the new suffix name. To recover a volume snapshot that has been destroyed and is pending eradication, set `destroyed=true`. The `ids` or `names` parameter is required, but they cannot be set together. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_volume_snapshots_patch_with_http_info(volume_snapshot, async_req=True) + >>> result = thread.get() + + :param VolumeSnapshotPatch volume_snapshot: (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] ids: Performs the operation on the unique resource IDs specified. Enter multiple resource IDs in comma-separated format. The `ids` or `names` parameter is required, but they cannot be set together. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param bool replication_snapshot: If set to `true`, allow destruction/eradication of snapshots in use by replication. If set to `false`, allow destruction/eradication of snapshots not in use by replication. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: VolumeSnapshotResponse + If the method is called asynchronously, + returns the request thread. + """ + if ids is not None: + if not isinstance(ids, list): + ids = [ids] + if names is not None: + if not isinstance(names, list): + names = [names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'volume_snapshot' is set + if volume_snapshot is None: + raise TypeError("Missing the required parameter `volume_snapshot` when calling `api226_volume_snapshots_patch`") + + collection_formats = {} + path_params = {} + + query_params = [] + if 'ids' in params: + query_params.append(('ids', params['ids'])) + collection_formats['ids'] = 'csv' + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'replication_snapshot' in params: + query_params.append(('replication_snapshot', params['replication_snapshot'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'volume_snapshot' in params: + body_params = params['volume_snapshot'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/volume-snapshots', 'PATCH', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='VolumeSnapshotResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_volume_snapshots_post_with_http_info( + self, + volume_snapshot=None, # type: models.VolumeSnapshotPost + authorization=None, # type: str + x_request_id=None, # type: str + on=None, # type: str + allow_throttle=None, # type: bool + source_ids=None, # type: List[str] + source_names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.VolumeSnapshotResponse + """Create a volume snapshot + + Creates a point-in-time snapshot of the contents of a volume. The `source_ids` or `source_names` parameter is required, but they cannot be set together. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_volume_snapshots_post_with_http_info(volume_snapshot, async_req=True) + >>> result = thread.get() + + :param VolumeSnapshotPost volume_snapshot: (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str on: Performs the operation on the target name specified. For example, `targetName01`. + :param bool allow_throttle: If set to `true`, allows snapshot to fail if array health is not optimal. + :param list[str] source_ids: Performs the operation on the source ID specified. Enter multiple source IDs in comma-separated format. + :param list[str] source_names: Performs the operation on the source name specified. Enter multiple source names in comma-separated format. For example, `name01,name02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: VolumeSnapshotResponse + If the method is called asynchronously, + returns the request thread. + """ + if source_ids is not None: + if not isinstance(source_ids, list): + source_ids = [source_ids] + if source_names is not None: + if not isinstance(source_names, list): + source_names = [source_names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'volume_snapshot' is set + if volume_snapshot is None: + raise TypeError("Missing the required parameter `volume_snapshot` when calling `api226_volume_snapshots_post`") + + collection_formats = {} + path_params = {} + + query_params = [] + if 'on' in params: + query_params.append(('on', params['on'])) + if 'allow_throttle' in params: + query_params.append(('allow_throttle', params['allow_throttle'])) + if 'source_ids' in params: + query_params.append(('source_ids', params['source_ids'])) + collection_formats['source_ids'] = 'csv' + if 'source_names' in params: + query_params.append(('source_names', params['source_names'])) + collection_formats['source_names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'volume_snapshot' in params: + body_params = params['volume_snapshot'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/volume-snapshots', 'POST', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='VolumeSnapshotResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_volume_snapshots_tags_batch_put_with_http_info( + self, + tag=None, # type: List[models.Tag] + authorization=None, # type: str + x_request_id=None, # type: str + resource_ids=None, # type: List[str] + resource_names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.TagResponse + """Update tags + + Updates tags. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_volume_snapshots_tags_batch_put_with_http_info(tag, async_req=True) + >>> result = thread.get() + + :param list[Tag] tag: A list of tags to be created or modified. (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] resource_ids: A comma-separated list of resource IDs. The `resource_ids` or `resource_names` parameter is required, but they cannot be set together. + :param list[str] resource_names: A comma-separated list of resource names. The `resource_ids` or `resource_names` parameter is required, but they cannot be set together. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: TagResponse + If the method is called asynchronously, + returns the request thread. + """ + if tag is not None: + if not isinstance(tag, list): + tag = [tag] + if resource_ids is not None: + if not isinstance(resource_ids, list): + resource_ids = [resource_ids] + if resource_names is not None: + if not isinstance(resource_names, list): + resource_names = [resource_names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'tag' is set + if tag is None: + raise TypeError("Missing the required parameter `tag` when calling `api226_volume_snapshots_tags_batch_put`") + + collection_formats = {} + path_params = {} + + query_params = [] + if 'resource_ids' in params: + query_params.append(('resource_ids', params['resource_ids'])) + collection_formats['resource_ids'] = 'csv' + if 'resource_names' in params: + query_params.append(('resource_names', params['resource_names'])) + collection_formats['resource_names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'tag' in params: + body_params = params['tag'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/volume-snapshots/tags/batch', 'PUT', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='TagResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_volume_snapshots_tags_delete_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + keys=None, # type: List[str] + namespaces=None, # type: List[str] + resource_ids=None, # type: List[str] + resource_names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """Delete tags + + Deletes specified tags. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_volume_snapshots_tags_delete_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] keys: A comma-separated list of tag keys. + :param list[str] namespaces: A comma-separated list of namespaces. Only one namespace is allowed per delete request. + :param list[str] resource_ids: A comma-separated list of resource IDs. The `resource_ids` or `resource_names` parameter is required, but they cannot be set together. + :param list[str] resource_names: A comma-separated list of resource names. The `resource_ids` or `resource_names` parameter is required, but they cannot be set together. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: None + If the method is called asynchronously, + returns the request thread. + """ + if keys is not None: + if not isinstance(keys, list): + keys = [keys] + if namespaces is not None: + if not isinstance(namespaces, list): + namespaces = [namespaces] + if resource_ids is not None: + if not isinstance(resource_ids, list): + resource_ids = [resource_ids] + if resource_names is not None: + if not isinstance(resource_names, list): + resource_names = [resource_names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + collection_formats = {} + path_params = {} + + query_params = [] + if 'keys' in params: + query_params.append(('keys', params['keys'])) + collection_formats['keys'] = 'csv' + if 'namespaces' in params: + query_params.append(('namespaces', params['namespaces'])) + collection_formats['namespaces'] = 'csv' + if 'resource_ids' in params: + query_params.append(('resource_ids', params['resource_ids'])) + collection_formats['resource_ids'] = 'csv' + if 'resource_names' in params: + query_params.append(('resource_names', params['resource_names'])) + collection_formats['resource_names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/volume-snapshots/tags', 'DELETE', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type=None, + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_volume_snapshots_tags_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + filter=None, # type: str + limit=None, # type: int + namespaces=None, # type: List[str] + offset=None, # type: int + resource_destroyed=None, # type: bool + resource_ids=None, # type: List[str] + resource_names=None, # type: List[str] + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.TagGetResponse + """List tags + + Displays the list of tags. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_volume_snapshots_tags_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str continuation_token: A token used to retrieve the next page of data with some consistency guaranteed. The token is a Base64 encoded value. Set `continuation_token` to the system-generated token taken from the `x-next-token` header field of the response. A query has reached its last page when the response does not include a token. Pagination requires the `limit` and `continuation_token` query parameters. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param list[str] namespaces: A comma-separated list of namespaces. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param bool resource_destroyed: If set to `true`, returns only objects from destroyed resources. Returns an error if the name of a live resource is specified in the `resource_names` query parameter. If set to `false`, returns only objects from live resources. Returns an error if the name of a destroyed resource is specified in the `resource_names` query parameter. + :param list[str] resource_ids: A comma-separated list of resource IDs. The `resource_ids` or `resource_names` parameter is required, but they cannot be set together. + :param list[str] resource_names: A comma-separated list of resource names. The `resource_ids` or `resource_names` parameter is required, but they cannot be set together. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: TagGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if namespaces is not None: + if not isinstance(namespaces, list): + namespaces = [namespaces] + if resource_ids is not None: + if not isinstance(resource_ids, list): + resource_ids = [resource_ids] + if resource_names is not None: + if not isinstance(resource_names, list): + resource_names = [resource_names] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_volume_snapshots_tags_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_volume_snapshots_tags_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'continuation_token' in params: + query_params.append(('continuation_token', params['continuation_token'])) + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'namespaces' in params: + query_params.append(('namespaces', params['namespaces'])) + collection_formats['namespaces'] = 'csv' + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'resource_destroyed' in params: + query_params.append(('resource_destroyed', params['resource_destroyed'])) + if 'resource_ids' in params: + query_params.append(('resource_ids', params['resource_ids'])) + collection_formats['resource_ids'] = 'csv' + if 'resource_names' in params: + query_params.append(('resource_names', params['resource_names'])) + collection_formats['resource_names'] = 'csv' + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/volume-snapshots/tags', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='TagGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_volume_snapshots_test_post_with_http_info( + self, + volume_snapshot=None, # type: models.VolumeSnapshotPost + authorization=None, # type: str + x_request_id=None, # type: str + on=None, # type: str + allow_throttle=None, # type: bool + source_ids=None, # type: List[str] + source_names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.TestResultWithResourcePostResponse + """Create the volume snapshot path + + Creates the volume snapshot path without actually taking a volume snapshot. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_volume_snapshots_test_post_with_http_info(volume_snapshot, async_req=True) + >>> result = thread.get() + + :param VolumeSnapshotPost volume_snapshot: (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str on: Performs the operation on the target name specified. For example, `targetName01`. + :param bool allow_throttle: If set to `true`, allows snapshot to fail if array health is not optimal. + :param list[str] source_ids: Performs the operation on the source ID specified. Enter multiple source IDs in comma-separated format. + :param list[str] source_names: Performs the operation on the source name specified. Enter multiple source names in comma-separated format. For example, `name01,name02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: TestResultWithResourcePostResponse + If the method is called asynchronously, + returns the request thread. + """ + if source_ids is not None: + if not isinstance(source_ids, list): + source_ids = [source_ids] + if source_names is not None: + if not isinstance(source_names, list): + source_names = [source_names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'volume_snapshot' is set + if volume_snapshot is None: + raise TypeError("Missing the required parameter `volume_snapshot` when calling `api226_volume_snapshots_test_post`") + + collection_formats = {} + path_params = {} + + query_params = [] + if 'on' in params: + query_params.append(('on', params['on'])) + if 'allow_throttle' in params: + query_params.append(('allow_throttle', params['allow_throttle'])) + if 'source_ids' in params: + query_params.append(('source_ids', params['source_ids'])) + collection_formats['source_ids'] = 'csv' + if 'source_names' in params: + query_params.append(('source_names', params['source_names'])) + collection_formats['source_names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'volume_snapshot' in params: + body_params = params['volume_snapshot'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/volume-snapshots/test', 'POST', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='TestResultWithResourcePostResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_volume_snapshots_transfer_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + destroyed=None, # type: bool + filter=None, # type: str + ids=None, # type: List[str] + limit=None, # type: int + offset=None, # type: int + sort=None, # type: List[str] + source_ids=None, # type: List[str] + source_names=None, # type: List[str] + total_item_count=None, # type: bool + total_only=None, # type: bool + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.VolumeSnapshotTransferGetResponse + """List volume snapshots with transfer statistics + + Returns a list of volume snapshots and their transfer statistics. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_volume_snapshots_transfer_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param bool destroyed: If set to `true`, lists only destroyed objects that are in the eradication pending state. If set to `false`, lists only objects that are not destroyed. For destroyed objects, the time remaining is displayed in milliseconds. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param list[str] ids: Performs the operation on the unique resource IDs specified. Enter multiple resource IDs in comma-separated format. The `ids` or `names` parameter is required, but they cannot be set together. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param list[str] source_ids: Performs the operation on the source ID specified. Enter multiple source IDs in comma-separated format. + :param list[str] source_names: Performs the operation on the source name specified. Enter multiple source names in comma-separated format. For example, `name01,name02`. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool total_only: If set to `true`, returns the aggregate value of all items after filtering. Where it makes more sense, the average value is displayed instead. The values are displayed for each name where meaningful. If `total_only=true`, the `items` list will be empty. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: VolumeSnapshotTransferGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if ids is not None: + if not isinstance(ids, list): + ids = [ids] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + if source_ids is not None: + if not isinstance(source_ids, list): + source_ids = [source_ids] + if source_names is not None: + if not isinstance(source_names, list): + source_names = [source_names] + if names is not None: + if not isinstance(names, list): + names = [names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_volume_snapshots_transfer_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_volume_snapshots_transfer_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'destroyed' in params: + query_params.append(('destroyed', params['destroyed'])) + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'ids' in params: + query_params.append(('ids', params['ids'])) + collection_formats['ids'] = 'csv' + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'source_ids' in params: + query_params.append(('source_ids', params['source_ids'])) + collection_formats['source_ids'] = 'csv' + if 'source_names' in params: + query_params.append(('source_names', params['source_names'])) + collection_formats['source_names'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + if 'total_only' in params: + query_params.append(('total_only', params['total_only'])) + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/volume-snapshots/transfer', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='VolumeSnapshotTransferGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) diff --git a/pypureclient/flasharray/FA_2_26/api/volumes_api.py b/pypureclient/flasharray/FA_2_26/api/volumes_api.py new file mode 100644 index 000000000..36eefdd90 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/api/volumes_api.py @@ -0,0 +1,1983 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +from __future__ import absolute_import + +import re + +# python 2 and python 3 compatibility library +import six +from typing import List, Optional + +from .. import models + +class VolumesApi(object): + + def __init__(self, api_client): + self.api_client = api_client + + def api226_volumes_delete_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + ids=None, # type: List[str] + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """Delete a volume + + Deletes a volume that has been destroyed and is pending eradication. Eradicated volumes cannot be recovered. Volumes are destroyed using the `PATCH` method. The `ids` or `names` parameter is required, but they cannot be set together. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_volumes_delete_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] ids: Performs the operation on the unique resource IDs specified. Enter multiple resource IDs in comma-separated format. The `ids` or `names` parameter is required, but they cannot be set together. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: None + If the method is called asynchronously, + returns the request thread. + """ + if ids is not None: + if not isinstance(ids, list): + ids = [ids] + if names is not None: + if not isinstance(names, list): + names = [names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + collection_formats = {} + path_params = {} + + query_params = [] + if 'ids' in params: + query_params.append(('ids', params['ids'])) + collection_formats['ids'] = 'csv' + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/volumes', 'DELETE', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type=None, + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_volumes_diff_get_with_http_info( + self, + segment_length=None, # type: int + block_size=None, # type: int + authorization=None, # type: str + x_request_id=None, # type: str + filter=None, # type: str + limit=None, # type: int + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + names=None, # type: List[str] + ids=None, # type: List[str] + base_name=None, # type: str + base_id=None, # type: str + segment_offset=None, # type: int + next_allocated_block_hint=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.VolumesDiffGetResponse + """List volume diffs + + Displays block differences for the specified volumes. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_volumes_diff_get_with_http_info(segment_length, block_size, async_req=True) + >>> result = thread.get() + + :param int segment_length: Length of the segment, in bytes, to compare. (required) + :param int block_size: Granularity at which to compare, in bytes. Must be a multiple of 512. (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param list[str] ids: Performs the operation on the unique resource IDs specified. Enter multiple resource IDs in comma-separated format. The `ids` or `names` parameter is required, but they cannot be set together. + :param str base_name: Name of the volume or volume snapshot that the diff comparison is based on. If a base volume or volume snapshot is not specified, all mapped blocks for the volume or volume snapshot are displayed. The `base_name` or `base_id` parameter is required, but they cannot be set together. + :param str base_id: ID of the volume or volume snapshot that the diff comparison is based on. If a base volume or volume snapshot is not specified, all mapped blocks for the volume or volume snapshot are displayed. The `base_name` or `base_id` parameter is required, but they cannot be set together. + :param int segment_offset: Absolute offset, in bytes, of the segment to compare. Must be a multiple of block_size. + :param bool next_allocated_block_hint: If set to `true`, appends offset of the next allocated block in bytes for the volume specified in `names` or `ids` to the output `items`. `base_name` or `base_id` must not be specified if this is set to `true`. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: VolumesDiffGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + if names is not None: + if not isinstance(names, list): + names = [names] + if ids is not None: + if not isinstance(ids, list): + ids = [ids] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'segment_length' is set + if segment_length is None: + raise TypeError("Missing the required parameter `segment_length` when calling `api226_volumes_diff_get`") + # verify the required parameter 'block_size' is set + if block_size is None: + raise TypeError("Missing the required parameter `block_size` when calling `api226_volumes_diff_get`") + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_volumes_diff_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_volumes_diff_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'ids' in params: + query_params.append(('ids', params['ids'])) + collection_formats['ids'] = 'csv' + if 'base_name' in params: + query_params.append(('base_name', params['base_name'])) + if 'base_id' in params: + query_params.append(('base_id', params['base_id'])) + if 'segment_offset' in params: + query_params.append(('segment_offset', params['segment_offset'])) + if 'segment_length' in params: + query_params.append(('segment_length', params['segment_length'])) + if 'block_size' in params: + query_params.append(('block_size', params['block_size'])) + if 'next_allocated_block_hint' in params: + query_params.append(('next_allocated_block_hint', params['next_allocated_block_hint'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/volumes/diff', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='VolumesDiffGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_volumes_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + destroyed=None, # type: bool + filter=None, # type: str + ids=None, # type: List[str] + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + total_only=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.VolumeGetResponse + """List volumes + + Displays a list of volumes, including those pending eradication. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_volumes_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str continuation_token: A token used to retrieve the next page of data with some consistency guaranteed. The token is a Base64 encoded value. Set `continuation_token` to the system-generated token taken from the `x-next-token` header field of the response. A query has reached its last page when the response does not include a token. Pagination requires the `limit` and `continuation_token` query parameters. + :param bool destroyed: If set to `true`, lists only destroyed objects that are in the eradication pending state. If set to `false`, lists only objects that are not destroyed. For destroyed objects, the time remaining is displayed in milliseconds. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param list[str] ids: Performs the operation on the unique resource IDs specified. Enter multiple resource IDs in comma-separated format. The `ids` or `names` parameter is required, but they cannot be set together. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool total_only: If set to `true`, returns the aggregate value of all items after filtering. Where it makes more sense, the average value is displayed instead. The values are displayed for each name where meaningful. If `total_only=true`, the `items` list will be empty. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: VolumeGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if ids is not None: + if not isinstance(ids, list): + ids = [ids] + if names is not None: + if not isinstance(names, list): + names = [names] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_volumes_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_volumes_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'continuation_token' in params: + query_params.append(('continuation_token', params['continuation_token'])) + if 'destroyed' in params: + query_params.append(('destroyed', params['destroyed'])) + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'ids' in params: + query_params.append(('ids', params['ids'])) + collection_formats['ids'] = 'csv' + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + if 'total_only' in params: + query_params.append(('total_only', params['total_only'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/volumes', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='VolumeGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_volumes_patch_with_http_info( + self, + volume=None, # type: models.VolumePatch + authorization=None, # type: str + x_request_id=None, # type: str + add_to_protection_group_ids=None, # type: List[str] + add_to_protection_group_names=None, # type: List[str] + ids=None, # type: List[str] + names=None, # type: List[str] + remove_from_protection_group_ids=None, # type: List[str] + remove_from_protection_group_names=None, # type: List[str] + truncate=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.VolumeResponse + """Modify a volume + + Modifies a volume by renaming, destroying, or resizing it. To rename a volume, set `name` to the new name. To destroy a volume, set `destroyed=true`. To recover a volume that has been destroyed and is pending eradication, set `destroyed=false`. Set the bandwidth and IOPs limits of a volume through the respective `bandwidth_limit` and `iops_limit` parameter. This moves the volume into a pod or volume group through the respective `pod` or `volume_group` parameter. The `ids` or `names` parameter is required, but they cannot be set together. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_volumes_patch_with_http_info(volume, async_req=True) + >>> result = thread.get() + + :param VolumePatch volume: (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] add_to_protection_group_ids: The volumes will be added to the specified protection groups along with creation or movement across pods and array. When a volume is moved, the specified protection groups must be in the target pod or array. Enter multiple ids in comma-separated format. + :param list[str] add_to_protection_group_names: The volumes will be added to the specified protection groups along with creation or movement across pods and array. When a volume is moved, the specified protection groups must be in the target pod or array. Enter multiple names in a comma-separated format. + :param list[str] ids: Performs the operation on the unique resource IDs specified. Enter multiple resource IDs in comma-separated format. The `ids` or `names` parameter is required, but they cannot be set together. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param list[str] remove_from_protection_group_ids: The volumes will be removed from the specified protection groups in the source pod or array along with the move. This can only be used when moving volumes across pods and arrays and must include all protection groups that the volumes are members of before the move. Enter multiple ids in a comma-separated format. + :param list[str] remove_from_protection_group_names: The volumes will be removed from the specified protection groups in the source pod or array along with the move. This can only be used when moving volumes across pods and arrays and must include all protection groups that the volumes are members of before the move. Enter multiple names in a comma-separated format. + :param bool truncate: If set to `true`, reduces the size of a volume during a volume resize operation. When a volume is truncated, Purity automatically takes an undo snapshot, providing a 24-hour window during which the previous contents can be retrieved. After truncating a volume, its provisioned size can be subsequently increased, but the data in truncated sectors cannot be retrieved. If set to `false` or not set at all and the volume is being reduced in size, the volume copy operation fails. Required if the `provisioned` parameter is set to a volume size that is smaller than the original size. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: VolumeResponse + If the method is called asynchronously, + returns the request thread. + """ + if add_to_protection_group_ids is not None: + if not isinstance(add_to_protection_group_ids, list): + add_to_protection_group_ids = [add_to_protection_group_ids] + if add_to_protection_group_names is not None: + if not isinstance(add_to_protection_group_names, list): + add_to_protection_group_names = [add_to_protection_group_names] + if ids is not None: + if not isinstance(ids, list): + ids = [ids] + if names is not None: + if not isinstance(names, list): + names = [names] + if remove_from_protection_group_ids is not None: + if not isinstance(remove_from_protection_group_ids, list): + remove_from_protection_group_ids = [remove_from_protection_group_ids] + if remove_from_protection_group_names is not None: + if not isinstance(remove_from_protection_group_names, list): + remove_from_protection_group_names = [remove_from_protection_group_names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'volume' is set + if volume is None: + raise TypeError("Missing the required parameter `volume` when calling `api226_volumes_patch`") + + collection_formats = {} + path_params = {} + + query_params = [] + if 'add_to_protection_group_ids' in params: + query_params.append(('add_to_protection_group_ids', params['add_to_protection_group_ids'])) + collection_formats['add_to_protection_group_ids'] = 'csv' + if 'add_to_protection_group_names' in params: + query_params.append(('add_to_protection_group_names', params['add_to_protection_group_names'])) + collection_formats['add_to_protection_group_names'] = 'csv' + if 'ids' in params: + query_params.append(('ids', params['ids'])) + collection_formats['ids'] = 'csv' + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'remove_from_protection_group_ids' in params: + query_params.append(('remove_from_protection_group_ids', params['remove_from_protection_group_ids'])) + collection_formats['remove_from_protection_group_ids'] = 'csv' + if 'remove_from_protection_group_names' in params: + query_params.append(('remove_from_protection_group_names', params['remove_from_protection_group_names'])) + collection_formats['remove_from_protection_group_names'] = 'csv' + if 'truncate' in params: + query_params.append(('truncate', params['truncate'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'volume' in params: + body_params = params['volume'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/volumes', 'PATCH', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='VolumeResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_volumes_performance_by_array_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + destroyed=None, # type: bool + filter=None, # type: str + end_time=None, # type: int + resolution=None, # type: int + start_time=None, # type: int + ids=None, # type: List[str] + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + total_only=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.ResourcePerformanceByArrayGetResponse + """List volume performance data by array + + Return real-time and historical performance data, real-time latency data, and average I/O size data. The data returned is for each volume on the current array and for each volume on any remote arrays that are visible to the current array. The data is grouped by individual volumes and as a total across all volumes on each array. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_volumes_performance_by_array_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param bool destroyed: If set to `true`, lists only destroyed objects that are in the eradication pending state. If set to `false`, lists only objects that are not destroyed. For destroyed objects, the time remaining is displayed in milliseconds. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param int end_time: Displays historical performance data for the specified time window, where `start_time` is the beginning of the time window, and `end_time` is the end of the time window. The `start_time` and `end_time` parameters are specified in milliseconds since the UNIX epoch. If `start_time` is not specified, the start time will default to one resolution before the end time, meaning that the most recent sample of performance data will be displayed. If `end_time`is not specified, the end time will default to the current time. Include the `resolution` parameter to display the performance data at the specified resolution. If not specified, `resolution` defaults to the lowest valid resolution. + :param int resolution: The number of milliseconds between samples of historical data. For array-wide performance metrics (`/arrays/performance` endpoint), valid values are `1000` (1 second), `30000` (30 seconds), `300000` (5 minutes), `1800000` (30 minutes), `7200000` (2 hours), `28800000` (8 hours), and `86400000` (24 hours). For performance metrics on storage objects (`/performance` endpoint), such as volumes, valid values are `30000` (30 seconds), `300000` (5 minutes), `1800000` (30 minutes), `7200000` (2 hours), `28800000` (8 hours), and `86400000` (24 hours). For space metrics, (`/space` endpoint), valid values are `300000` (5 minutes), `1800000` (30 minutes), `7200000` (2 hours), `28800000` (8 hours), and `86400000` (24 hours). Include the `start_time` parameter to display the performance data starting at the specified start time. If `start_time` is not specified, the start time will default to one resolution before the end time, meaning that the most recent sample of performance data will be displayed. Include the `end_time` parameter to display the performance data until the specified end time. If `end_time`is not specified, the end time will default to the current time. If the `resolution` parameter is not specified but either the `start_time` or `end_time` parameter is, then `resolution` will default to the lowest valid resolution. + :param int start_time: Displays historical performance data for the specified time window, where `start_time` is the beginning of the time window, and `end_time` is the end of the time window. The `start_time` and `end_time` parameters are specified in milliseconds since the UNIX epoch. If `start_time` is not specified, the start time will default to one resolution before the end time, meaning that the most recent sample of performance data will be displayed. If `end_time`is not specified, the end time will default to the current time. Include the `resolution` parameter to display the performance data at the specified resolution. If not specified, `resolution` defaults to the lowest valid resolution. + :param list[str] ids: Performs the operation on the unique resource IDs specified. Enter multiple resource IDs in comma-separated format. The `ids` or `names` parameter is required, but they cannot be set together. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool total_only: If set to `true`, returns the aggregate value of all items after filtering. Where it makes more sense, the average value is displayed instead. The values are displayed for each name where meaningful. If `total_only=true`, the `items` list will be empty. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: ResourcePerformanceByArrayGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if ids is not None: + if not isinstance(ids, list): + ids = [ids] + if names is not None: + if not isinstance(names, list): + names = [names] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'resolution' in params and params['resolution'] < 0: + raise ValueError("Invalid value for parameter `resolution` when calling `api226_volumes_performance_by_array_get`, must be a value greater than or equal to `0`") + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_volumes_performance_by_array_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_volumes_performance_by_array_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'destroyed' in params: + query_params.append(('destroyed', params['destroyed'])) + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'end_time' in params: + query_params.append(('end_time', params['end_time'])) + if 'resolution' in params: + query_params.append(('resolution', params['resolution'])) + if 'start_time' in params: + query_params.append(('start_time', params['start_time'])) + if 'ids' in params: + query_params.append(('ids', params['ids'])) + collection_formats['ids'] = 'csv' + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + if 'total_only' in params: + query_params.append(('total_only', params['total_only'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/volumes/performance/by-array', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='ResourcePerformanceByArrayGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_volumes_performance_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + destroyed=None, # type: bool + filter=None, # type: str + end_time=None, # type: int + resolution=None, # type: int + start_time=None, # type: int + ids=None, # type: List[str] + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + total_only=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.ResourcePerformanceGetResponse + """List volume performance data + + Returns real-time and historical performance data, real-time latency data, and average I/O sizes for each volume and and as a total of all volumes across the entire array. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_volumes_performance_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param bool destroyed: If set to `true`, lists only destroyed objects that are in the eradication pending state. If set to `false`, lists only objects that are not destroyed. For destroyed objects, the time remaining is displayed in milliseconds. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param int end_time: Displays historical performance data for the specified time window, where `start_time` is the beginning of the time window, and `end_time` is the end of the time window. The `start_time` and `end_time` parameters are specified in milliseconds since the UNIX epoch. If `start_time` is not specified, the start time will default to one resolution before the end time, meaning that the most recent sample of performance data will be displayed. If `end_time`is not specified, the end time will default to the current time. Include the `resolution` parameter to display the performance data at the specified resolution. If not specified, `resolution` defaults to the lowest valid resolution. + :param int resolution: The number of milliseconds between samples of historical data. For array-wide performance metrics (`/arrays/performance` endpoint), valid values are `1000` (1 second), `30000` (30 seconds), `300000` (5 minutes), `1800000` (30 minutes), `7200000` (2 hours), `28800000` (8 hours), and `86400000` (24 hours). For performance metrics on storage objects (`/performance` endpoint), such as volumes, valid values are `30000` (30 seconds), `300000` (5 minutes), `1800000` (30 minutes), `7200000` (2 hours), `28800000` (8 hours), and `86400000` (24 hours). For space metrics, (`/space` endpoint), valid values are `300000` (5 minutes), `1800000` (30 minutes), `7200000` (2 hours), `28800000` (8 hours), and `86400000` (24 hours). Include the `start_time` parameter to display the performance data starting at the specified start time. If `start_time` is not specified, the start time will default to one resolution before the end time, meaning that the most recent sample of performance data will be displayed. Include the `end_time` parameter to display the performance data until the specified end time. If `end_time`is not specified, the end time will default to the current time. If the `resolution` parameter is not specified but either the `start_time` or `end_time` parameter is, then `resolution` will default to the lowest valid resolution. + :param int start_time: Displays historical performance data for the specified time window, where `start_time` is the beginning of the time window, and `end_time` is the end of the time window. The `start_time` and `end_time` parameters are specified in milliseconds since the UNIX epoch. If `start_time` is not specified, the start time will default to one resolution before the end time, meaning that the most recent sample of performance data will be displayed. If `end_time`is not specified, the end time will default to the current time. Include the `resolution` parameter to display the performance data at the specified resolution. If not specified, `resolution` defaults to the lowest valid resolution. + :param list[str] ids: Performs the operation on the unique resource IDs specified. Enter multiple resource IDs in comma-separated format. The `ids` or `names` parameter is required, but they cannot be set together. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool total_only: If set to `true`, returns the aggregate value of all items after filtering. Where it makes more sense, the average value is displayed instead. The values are displayed for each name where meaningful. If `total_only=true`, the `items` list will be empty. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: ResourcePerformanceGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if ids is not None: + if not isinstance(ids, list): + ids = [ids] + if names is not None: + if not isinstance(names, list): + names = [names] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'resolution' in params and params['resolution'] < 0: + raise ValueError("Invalid value for parameter `resolution` when calling `api226_volumes_performance_get`, must be a value greater than or equal to `0`") + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_volumes_performance_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_volumes_performance_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'destroyed' in params: + query_params.append(('destroyed', params['destroyed'])) + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'end_time' in params: + query_params.append(('end_time', params['end_time'])) + if 'resolution' in params: + query_params.append(('resolution', params['resolution'])) + if 'start_time' in params: + query_params.append(('start_time', params['start_time'])) + if 'ids' in params: + query_params.append(('ids', params['ids'])) + collection_formats['ids'] = 'csv' + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + if 'total_only' in params: + query_params.append(('total_only', params['total_only'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/volumes/performance', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='ResourcePerformanceGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_volumes_post_with_http_info( + self, + volume=None, # type: models.VolumePost + authorization=None, # type: str + x_request_id=None, # type: str + add_to_protection_group_ids=None, # type: List[str] + add_to_protection_group_names=None, # type: List[str] + names=None, # type: List[str] + overwrite=None, # type: bool + with_default_protection=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.VolumeResponse + """Create a volume + + Creates one or more virtual storage volumes of the specified size. If `provisioned` is not specified, the size of the new volume defaults to 1 MB. The `names` query parameter is required. The `add_to_protection_group_names` query parameter specifies a list of protection group names that will compose the initial protection for the volume. The `with_default_protection` query parameter specifies whether to use the container default protection configuration for the volume. The `add_to_protection_group_names` and `with_default_protection` query parameters cannot be provided when `overwrite` is `true`. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_volumes_post_with_http_info(volume, async_req=True) + >>> result = thread.get() + + :param VolumePost volume: (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] add_to_protection_group_ids: The volumes will be added to the specified protection groups along with creation or movement across pods and array. When a volume is moved, the specified protection groups must be in the target pod or array. Enter multiple ids in comma-separated format. + :param list[str] add_to_protection_group_names: The volumes will be added to the specified protection groups along with creation or movement across pods and array. When a volume is moved, the specified protection groups must be in the target pod or array. Enter multiple names in a comma-separated format. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param bool overwrite: If set to `true`, overwrites an existing object during an object copy operation. If set to `false` or not set at all and the target name is an existing object, the copy operation fails. Required if the `source` body parameter is set and the source overwrites an existing object during the copy operation. + :param bool with_default_protection: If specified as `true`, the initial protection of the newly created volumes will be the union of the container default protection configuration and `add_to_protection_group_names`. If specified as `false`, the default protection of the container will not be applied automatically. The initial protection of the newly created volumes will be configured by `add_to_protection_group_names`. If not specified, defaults to `true`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: VolumeResponse + If the method is called asynchronously, + returns the request thread. + """ + if add_to_protection_group_ids is not None: + if not isinstance(add_to_protection_group_ids, list): + add_to_protection_group_ids = [add_to_protection_group_ids] + if add_to_protection_group_names is not None: + if not isinstance(add_to_protection_group_names, list): + add_to_protection_group_names = [add_to_protection_group_names] + if names is not None: + if not isinstance(names, list): + names = [names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'volume' is set + if volume is None: + raise TypeError("Missing the required parameter `volume` when calling `api226_volumes_post`") + + collection_formats = {} + path_params = {} + + query_params = [] + if 'add_to_protection_group_ids' in params: + query_params.append(('add_to_protection_group_ids', params['add_to_protection_group_ids'])) + collection_formats['add_to_protection_group_ids'] = 'csv' + if 'add_to_protection_group_names' in params: + query_params.append(('add_to_protection_group_names', params['add_to_protection_group_names'])) + collection_formats['add_to_protection_group_names'] = 'csv' + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + if 'overwrite' in params: + query_params.append(('overwrite', params['overwrite'])) + if 'with_default_protection' in params: + query_params.append(('with_default_protection', params['with_default_protection'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'volume' in params: + body_params = params['volume'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/volumes', 'POST', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='VolumeResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_volumes_protection_groups_delete_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + group_ids=None, # type: List[str] + group_names=None, # type: List[str] + member_names=None, # type: List[str] + member_ids=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """Delete a volume from a protection group + + Deletes a volume member from a protection group. After the member has been deleted, it is no longer protected by the group. Any protection group snapshots that were taken before the member was deleted are not affected. Deleting a member from a protection group does not delete the member from the array, and the member can be added back to the protection group at any time. The `group_names` parameter represents the name of the protection group, and the `member_names` and `member_ids` parameters represent the names or IDs of the volume. The `group_names` and only one of `member_names` or `member_ids` parameters are required and must be set together. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_volumes_protection_groups_delete_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] group_ids: A comma-separated list of group IDs. + :param list[str] group_names: Performs the operation on the unique group name specified. Examples of groups include host groups, pods, protection groups, and volume groups. Enter multiple names in comma-separated format. For example, `hgroup01,hgroup02`. + :param list[str] member_names: Performs the operation on the unique member name specified. Examples of members include volumes, hosts, host groups, and directories. Enter multiple names in comma-separated format. For example, `vol01,vol02`. + :param list[str] member_ids: Performs the operation on the unique member IDs specified. Enter multiple member IDs in comma-separated format. The `member_ids` or `member_names` parameter is required, but they cannot be set together. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: None + If the method is called asynchronously, + returns the request thread. + """ + if group_ids is not None: + if not isinstance(group_ids, list): + group_ids = [group_ids] + if group_names is not None: + if not isinstance(group_names, list): + group_names = [group_names] + if member_names is not None: + if not isinstance(member_names, list): + member_names = [member_names] + if member_ids is not None: + if not isinstance(member_ids, list): + member_ids = [member_ids] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + collection_formats = {} + path_params = {} + + query_params = [] + if 'group_ids' in params: + query_params.append(('group_ids', params['group_ids'])) + collection_formats['group_ids'] = 'csv' + if 'group_names' in params: + query_params.append(('group_names', params['group_names'])) + collection_formats['group_names'] = 'csv' + if 'member_names' in params: + query_params.append(('member_names', params['member_names'])) + collection_formats['member_names'] = 'csv' + if 'member_ids' in params: + query_params.append(('member_ids', params['member_ids'])) + collection_formats['member_ids'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/volumes/protection-groups', 'DELETE', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type=None, + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_volumes_protection_groups_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + filter=None, # type: str + group_ids=None, # type: List[str] + group_names=None, # type: List[str] + limit=None, # type: int + member_destroyed=None, # type: bool + member_ids=None, # type: List[str] + member_names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.ProtectionGroupsVolumesGetResponse + """List volumes that are members of protection groups + + Displays a list of volume members that belong to one or more protection groups. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_volumes_protection_groups_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str continuation_token: A token used to retrieve the next page of data with some consistency guaranteed. The token is a Base64 encoded value. Set `continuation_token` to the system-generated token taken from the `x-next-token` header field of the response. A query has reached its last page when the response does not include a token. Pagination requires the `limit` and `continuation_token` query parameters. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param list[str] group_ids: A comma-separated list of group IDs. + :param list[str] group_names: Performs the operation on the unique group name specified. Examples of groups include host groups, pods, protection groups, and volume groups. Enter multiple names in comma-separated format. For example, `hgroup01,hgroup02`. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param bool member_destroyed: If true, returns only destroyed member objects. Returns an error if a name of a live member object is specified in the member_names query param. If false, returns only live member objects. Returns an error if a name of a destroyed member object is specified in the member_names query param. + :param list[str] member_ids: Performs the operation on the unique member IDs specified. Enter multiple member IDs in comma-separated format. The `member_ids` or `member_names` parameter is required, but they cannot be set together. + :param list[str] member_names: Performs the operation on the unique member name specified. Examples of members include volumes, hosts, host groups, and directories. Enter multiple names in comma-separated format. For example, `vol01,vol02`. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: ProtectionGroupsVolumesGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if group_ids is not None: + if not isinstance(group_ids, list): + group_ids = [group_ids] + if group_names is not None: + if not isinstance(group_names, list): + group_names = [group_names] + if member_ids is not None: + if not isinstance(member_ids, list): + member_ids = [member_ids] + if member_names is not None: + if not isinstance(member_names, list): + member_names = [member_names] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_volumes_protection_groups_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_volumes_protection_groups_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'continuation_token' in params: + query_params.append(('continuation_token', params['continuation_token'])) + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'group_ids' in params: + query_params.append(('group_ids', params['group_ids'])) + collection_formats['group_ids'] = 'csv' + if 'group_names' in params: + query_params.append(('group_names', params['group_names'])) + collection_formats['group_names'] = 'csv' + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'member_destroyed' in params: + query_params.append(('member_destroyed', params['member_destroyed'])) + if 'member_ids' in params: + query_params.append(('member_ids', params['member_ids'])) + collection_formats['member_ids'] = 'csv' + if 'member_names' in params: + query_params.append(('member_names', params['member_names'])) + collection_formats['member_names'] = 'csv' + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/volumes/protection-groups', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='ProtectionGroupsVolumesGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_volumes_protection_groups_post_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + group_ids=None, # type: List[str] + group_names=None, # type: List[str] + member_names=None, # type: List[str] + member_ids=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.ProtectionGroupsVolumesResponse + """Create a volume and add it to a protection group + + Creates a volume member and adds it to a protection group. Members that are already in the protection group are not affected. For asynchronous replication, only members of the same type can belong to a protection group. The `group_names` parameter represents the name of the protection group, and the `member_names` and `member_ids` parameters represent the names or IDs of the volume. The `group_names` and only one of `member_names` or `member_ids` parameters are required and must be set together. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_volumes_protection_groups_post_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] group_ids: A comma-separated list of group IDs. + :param list[str] group_names: Performs the operation on the unique group name specified. Examples of groups include host groups, pods, protection groups, and volume groups. Enter multiple names in comma-separated format. For example, `hgroup01,hgroup02`. + :param list[str] member_names: Performs the operation on the unique member name specified. Examples of members include volumes, hosts, host groups, and directories. Enter multiple names in comma-separated format. For example, `vol01,vol02`. + :param list[str] member_ids: Performs the operation on the unique member IDs specified. Enter multiple member IDs in comma-separated format. The `member_ids` or `member_names` parameter is required, but they cannot be set together. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: ProtectionGroupsVolumesResponse + If the method is called asynchronously, + returns the request thread. + """ + if group_ids is not None: + if not isinstance(group_ids, list): + group_ids = [group_ids] + if group_names is not None: + if not isinstance(group_names, list): + group_names = [group_names] + if member_names is not None: + if not isinstance(member_names, list): + member_names = [member_names] + if member_ids is not None: + if not isinstance(member_ids, list): + member_ids = [member_ids] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + collection_formats = {} + path_params = {} + + query_params = [] + if 'group_ids' in params: + query_params.append(('group_ids', params['group_ids'])) + collection_formats['group_ids'] = 'csv' + if 'group_names' in params: + query_params.append(('group_names', params['group_names'])) + collection_formats['group_names'] = 'csv' + if 'member_names' in params: + query_params.append(('member_names', params['member_names'])) + collection_formats['member_names'] = 'csv' + if 'member_ids' in params: + query_params.append(('member_ids', params['member_ids'])) + collection_formats['member_ids'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/volumes/protection-groups', 'POST', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='ProtectionGroupsVolumesResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_volumes_space_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + destroyed=None, # type: bool + filter=None, # type: str + end_time=None, # type: int + resolution=None, # type: int + start_time=None, # type: int + ids=None, # type: List[str] + limit=None, # type: int + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + total_only=None, # type: bool + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.VolumeSpaceGetResponse + """List volume space information + + Displays the provisioned size and physical storage consumption data for each volume. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_volumes_space_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param bool destroyed: If set to `true`, lists only destroyed objects that are in the eradication pending state. If set to `false`, lists only objects that are not destroyed. For destroyed objects, the time remaining is displayed in milliseconds. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param int end_time: Displays historical performance data for the specified time window, where `start_time` is the beginning of the time window, and `end_time` is the end of the time window. The `start_time` and `end_time` parameters are specified in milliseconds since the UNIX epoch. If `start_time` is not specified, the start time will default to one resolution before the end time, meaning that the most recent sample of performance data will be displayed. If `end_time`is not specified, the end time will default to the current time. Include the `resolution` parameter to display the performance data at the specified resolution. If not specified, `resolution` defaults to the lowest valid resolution. + :param int resolution: The number of milliseconds between samples of historical data. For array-wide performance metrics (`/arrays/performance` endpoint), valid values are `1000` (1 second), `30000` (30 seconds), `300000` (5 minutes), `1800000` (30 minutes), `7200000` (2 hours), `28800000` (8 hours), and `86400000` (24 hours). For performance metrics on storage objects (`/performance` endpoint), such as volumes, valid values are `30000` (30 seconds), `300000` (5 minutes), `1800000` (30 minutes), `7200000` (2 hours), `28800000` (8 hours), and `86400000` (24 hours). For space metrics, (`/space` endpoint), valid values are `300000` (5 minutes), `1800000` (30 minutes), `7200000` (2 hours), `28800000` (8 hours), and `86400000` (24 hours). Include the `start_time` parameter to display the performance data starting at the specified start time. If `start_time` is not specified, the start time will default to one resolution before the end time, meaning that the most recent sample of performance data will be displayed. Include the `end_time` parameter to display the performance data until the specified end time. If `end_time`is not specified, the end time will default to the current time. If the `resolution` parameter is not specified but either the `start_time` or `end_time` parameter is, then `resolution` will default to the lowest valid resolution. + :param int start_time: Displays historical performance data for the specified time window, where `start_time` is the beginning of the time window, and `end_time` is the end of the time window. The `start_time` and `end_time` parameters are specified in milliseconds since the UNIX epoch. If `start_time` is not specified, the start time will default to one resolution before the end time, meaning that the most recent sample of performance data will be displayed. If `end_time`is not specified, the end time will default to the current time. Include the `resolution` parameter to display the performance data at the specified resolution. If not specified, `resolution` defaults to the lowest valid resolution. + :param list[str] ids: Performs the operation on the unique resource IDs specified. Enter multiple resource IDs in comma-separated format. The `ids` or `names` parameter is required, but they cannot be set together. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool total_only: If set to `true`, returns the aggregate value of all items after filtering. Where it makes more sense, the average value is displayed instead. The values are displayed for each name where meaningful. If `total_only=true`, the `items` list will be empty. + :param list[str] names: Performs the operation on the unique name specified. Enter multiple names in comma-separated format. For example, `name01,name02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: VolumeSpaceGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if ids is not None: + if not isinstance(ids, list): + ids = [ids] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + if names is not None: + if not isinstance(names, list): + names = [names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'resolution' in params and params['resolution'] < 0: + raise ValueError("Invalid value for parameter `resolution` when calling `api226_volumes_space_get`, must be a value greater than or equal to `0`") + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_volumes_space_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_volumes_space_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'destroyed' in params: + query_params.append(('destroyed', params['destroyed'])) + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'end_time' in params: + query_params.append(('end_time', params['end_time'])) + if 'resolution' in params: + query_params.append(('resolution', params['resolution'])) + if 'start_time' in params: + query_params.append(('start_time', params['start_time'])) + if 'ids' in params: + query_params.append(('ids', params['ids'])) + collection_formats['ids'] = 'csv' + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + if 'total_only' in params: + query_params.append(('total_only', params['total_only'])) + if 'names' in params: + query_params.append(('names', params['names'])) + collection_formats['names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/volumes/space', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='VolumeSpaceGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_volumes_tags_batch_put_with_http_info( + self, + tag=None, # type: List[models.Tag] + authorization=None, # type: str + x_request_id=None, # type: str + resource_ids=None, # type: List[str] + resource_names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.TagResponse + """Update tags + + Updates tags. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_volumes_tags_batch_put_with_http_info(tag, async_req=True) + >>> result = thread.get() + + :param list[Tag] tag: A list of tags to be created or, if already existing, updated. (required) + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] resource_ids: A comma-separated list of resource IDs. The `resource_ids` or `resource_names` parameter is required, but they cannot be set together. + :param list[str] resource_names: A comma-separated list of resource names. The `resource_ids` or `resource_names` parameter is required, but they cannot be set together. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: TagResponse + If the method is called asynchronously, + returns the request thread. + """ + if tag is not None: + if not isinstance(tag, list): + tag = [tag] + if resource_ids is not None: + if not isinstance(resource_ids, list): + resource_ids = [resource_ids] + if resource_names is not None: + if not isinstance(resource_names, list): + resource_names = [resource_names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + # verify the required parameter 'tag' is set + if tag is None: + raise TypeError("Missing the required parameter `tag` when calling `api226_volumes_tags_batch_put`") + + collection_formats = {} + path_params = {} + + query_params = [] + if 'resource_ids' in params: + query_params.append(('resource_ids', params['resource_ids'])) + collection_formats['resource_ids'] = 'csv' + if 'resource_names' in params: + query_params.append(('resource_names', params['resource_names'])) + collection_formats['resource_names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + if 'tag' in params: + body_params = params['tag'] + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/volumes/tags/batch', 'PUT', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='TagResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_volumes_tags_delete_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + keys=None, # type: List[str] + namespaces=None, # type: List[str] + resource_ids=None, # type: List[str] + resource_names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """Delete tags + + Deletes specified tags. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_volumes_tags_delete_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param list[str] keys: A comma-separated list of tag keys. + :param list[str] namespaces: A comma-separated list of namespaces. Only one namespace is allowed per delete request. + :param list[str] resource_ids: A comma-separated list of resource IDs. The `resource_ids` or `resource_names` parameter is required, but they cannot be set together. + :param list[str] resource_names: A comma-separated list of resource names. The `resource_ids` or `resource_names` parameter is required, but they cannot be set together. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: None + If the method is called asynchronously, + returns the request thread. + """ + if keys is not None: + if not isinstance(keys, list): + keys = [keys] + if namespaces is not None: + if not isinstance(namespaces, list): + namespaces = [namespaces] + if resource_ids is not None: + if not isinstance(resource_ids, list): + resource_ids = [resource_ids] + if resource_names is not None: + if not isinstance(resource_names, list): + resource_names = [resource_names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + collection_formats = {} + path_params = {} + + query_params = [] + if 'keys' in params: + query_params.append(('keys', params['keys'])) + collection_formats['keys'] = 'csv' + if 'namespaces' in params: + query_params.append(('namespaces', params['namespaces'])) + collection_formats['namespaces'] = 'csv' + if 'resource_ids' in params: + query_params.append(('resource_ids', params['resource_ids'])) + collection_formats['resource_ids'] = 'csv' + if 'resource_names' in params: + query_params.append(('resource_names', params['resource_names'])) + collection_formats['resource_names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/volumes/tags', 'DELETE', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type=None, + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_volumes_tags_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + filter=None, # type: str + limit=None, # type: int + namespaces=None, # type: List[str] + offset=None, # type: int + resource_destroyed=None, # type: bool + resource_ids=None, # type: List[str] + resource_names=None, # type: List[str] + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.TagGetResponse + """List tags + + Displays the list of tags. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_volumes_tags_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str continuation_token: A token used to retrieve the next page of data with some consistency guaranteed. The token is a Base64 encoded value. Set `continuation_token` to the system-generated token taken from the `x-next-token` header field of the response. A query has reached its last page when the response does not include a token. Pagination requires the `limit` and `continuation_token` query parameters. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param list[str] namespaces: A comma-separated list of namespaces. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param bool resource_destroyed: If set to `true`, returns only objects from destroyed resources. Returns an error if the name of a live resource is specified in the `resource_names` query parameter. If set to `false`, returns only objects from live resources. Returns an error if the name of a destroyed resource is specified in the `resource_names` query parameter. + :param list[str] resource_ids: A comma-separated list of resource IDs. The `resource_ids` or `resource_names` parameter is required, but they cannot be set together. + :param list[str] resource_names: A comma-separated list of resource names. The `resource_ids` or `resource_names` parameter is required, but they cannot be set together. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: TagGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if namespaces is not None: + if not isinstance(namespaces, list): + namespaces = [namespaces] + if resource_ids is not None: + if not isinstance(resource_ids, list): + resource_ids = [resource_ids] + if resource_names is not None: + if not isinstance(resource_names, list): + resource_names = [resource_names] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_volumes_tags_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_volumes_tags_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'continuation_token' in params: + query_params.append(('continuation_token', params['continuation_token'])) + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'namespaces' in params: + query_params.append(('namespaces', params['namespaces'])) + collection_formats['namespaces'] = 'csv' + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'resource_destroyed' in params: + query_params.append(('resource_destroyed', params['resource_destroyed'])) + if 'resource_ids' in params: + query_params.append(('resource_ids', params['resource_ids'])) + collection_formats['resource_ids'] = 'csv' + if 'resource_names' in params: + query_params.append(('resource_names', params['resource_names'])) + collection_formats['resource_names'] = 'csv' + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/volumes/tags', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='TagGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) + + def api226_volumes_volume_groups_get_with_http_info( + self, + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + filter=None, # type: str + group_ids=None, # type: List[str] + limit=None, # type: int + member_ids=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + group_names=None, # type: List[str] + member_names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.MemberGetResponse + """List volumes that are in volume groups + + Returns a list of volumes that are in a volume group. + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.api226_volumes_volume_groups_get_with_http_info(async_req=True) + >>> result = thread.get() + + :param str authorization: Access token (in JWT format) required to use any API endpoint (except `/oauth2`, `/login`, and `/logout`) + :param str x_request_id: Supplied by client during request or generated by server. + :param str continuation_token: A token used to retrieve the next page of data with some consistency guaranteed. The token is a Base64 encoded value. Set `continuation_token` to the system-generated token taken from the `x-next-token` header field of the response. A query has reached its last page when the response does not include a token. Pagination requires the `limit` and `continuation_token` query parameters. + :param str filter: Narrows down the results to only the response objects that satisfy the filter criteria. + :param list[str] group_ids: A comma-separated list of group IDs. + :param int limit: Limits the size of the response to the specified number of objects on each page. To return the total number of resources, set `limit=0`. The total number of resources is returned as a `total_item_count` value. If the page size requested is larger than the system maximum limit, the server returns the maximum limit, disregarding the requested page size. + :param list[str] member_ids: Performs the operation on the unique member IDs specified. Enter multiple member IDs in comma-separated format. The `member_ids` or `member_names` parameter is required, but they cannot be set together. + :param int offset: The starting position based on the results of the query in relation to the full set of response objects returned. + :param list[str] sort: Returns the response objects in the order specified. Set `sort` to the name in the response by which to sort. Sorting can be performed on any of the names in the response, and the objects can be sorted in ascending or descending order. By default, the response objects are sorted in ascending order. To sort in descending order, append the minus sign (`-`) to the name. A single request can be sorted on multiple objects. For example, you can sort all volumes from largest to smallest volume size, and then sort volumes of the same size in ascending order by volume name. To sort on multiple names, list the names as comma-separated values. + :param bool total_item_count: If set to `true`, the `total_item_count` matching the specified query parameters is calculated and returned in the response. If set to `false`, the `total_item_count` is `null` in the response. This may speed up queries where the `total_item_count` is large. If not specified, defaults to `false`. + :param list[str] group_names: Performs the operation on the unique group name specified. Examples of groups include host groups, pods, protection groups, and volume groups. Enter multiple names in comma-separated format. For example, `hgroup01,hgroup02`. + :param list[str] member_names: Performs the operation on the unique member name specified. Examples of members include volumes, hosts, host groups, and directories. Enter multiple names in comma-separated format. For example, `vol01,vol02`. + :param bool async_req: Request runs in separate thread and method returns multiprocessing.pool.ApplyResult. + :param bool _return_http_data_only: Returns only data field. + :param bool _preload_content: Response is converted into objects. + :param int _request_timeout: Total request timeout in seconds. + It can also be a tuple of (connection time, read time) timeouts. + :return: MemberGetResponse + If the method is called asynchronously, + returns the request thread. + """ + if group_ids is not None: + if not isinstance(group_ids, list): + group_ids = [group_ids] + if member_ids is not None: + if not isinstance(member_ids, list): + member_ids = [member_ids] + if sort is not None: + if not isinstance(sort, list): + sort = [sort] + if group_names is not None: + if not isinstance(group_names, list): + group_names = [group_names] + if member_names is not None: + if not isinstance(member_names, list): + member_names = [member_names] + params = {k: v for k, v in six.iteritems(locals()) if v is not None} + + # Convert the filter into a string + if params.get('filter'): + params['filter'] = str(params['filter']) + if params.get('sort'): + params['sort'] = [str(_x) for _x in params['sort']] + + if 'limit' in params and params['limit'] < 1: + raise ValueError("Invalid value for parameter `limit` when calling `api226_volumes_volume_groups_get`, must be a value greater than or equal to `1`") + if 'offset' in params and params['offset'] < 0: + raise ValueError("Invalid value for parameter `offset` when calling `api226_volumes_volume_groups_get`, must be a value greater than or equal to `0`") + collection_formats = {} + path_params = {} + + query_params = [] + if 'continuation_token' in params: + query_params.append(('continuation_token', params['continuation_token'])) + if 'filter' in params: + query_params.append(('filter', params['filter'])) + if 'group_ids' in params: + query_params.append(('group_ids', params['group_ids'])) + collection_formats['group_ids'] = 'csv' + if 'limit' in params: + query_params.append(('limit', params['limit'])) + if 'member_ids' in params: + query_params.append(('member_ids', params['member_ids'])) + collection_formats['member_ids'] = 'csv' + if 'offset' in params: + query_params.append(('offset', params['offset'])) + if 'sort' in params: + query_params.append(('sort', params['sort'])) + collection_formats['sort'] = 'csv' + if 'total_item_count' in params: + query_params.append(('total_item_count', params['total_item_count'])) + if 'group_names' in params: + query_params.append(('group_names', params['group_names'])) + collection_formats['group_names'] = 'csv' + if 'member_names' in params: + query_params.append(('member_names', params['member_names'])) + collection_formats['member_names'] = 'csv' + + header_params = {} + if 'authorization' in params: + header_params['Authorization'] = params['authorization'] + if 'x_request_id' in params: + header_params['X-Request-ID'] = params['x_request_id'] + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( + ['application/json']) + + # Authentication setting + auth_settings = [] + + return self.api_client.call_api( + '/api/2.26/volumes/volume-groups', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='MemberGetResponse', + auth_settings=auth_settings, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + collection_formats=collection_formats, + ) diff --git a/pypureclient/flasharray/FA_2_26/api_client.py b/pypureclient/flasharray/FA_2_26/api_client.py new file mode 100644 index 000000000..c2817f60f --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/api_client.py @@ -0,0 +1,646 @@ +# coding: utf-8 +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + +from __future__ import absolute_import + +import atexit +import datetime +import json +import mimetypes +from multiprocessing.pool import ThreadPool +import os +import re +import tempfile + +# python 2 and python 3 compatibility library +import six +from six.moves.urllib.parse import quote + +from .configuration import Configuration +from . import models +from . import rest + + +class ApiClient(object): + """Generic API client for Swagger client library builds. + + Swagger generic API client. This client handles the client- + server communication, and is invariant across implementations. Specifics of + the methods and models for each application are generated from the Swagger + templates. + + :param configuration: .Configuration object for this client + :param header_name: a header to pass when making calls to the API. + :param header_value: a header value to pass when making calls to + the API. + :param cookie: a cookie to include in the header when making calls + to the API + """ + + PRIMITIVE_TYPES = (float, bool, bytes, six.text_type) + six.integer_types + NATIVE_TYPES_MAPPING = { + 'int': int, + 'long': int if six.PY3 else long, + 'float': float, + 'str': str, + 'bool': bool, + 'date': datetime.date, + 'datetime': datetime.datetime, + 'object': object, + } + + def __init__(self, configuration=None, header_name=None, header_value=None, + cookie=None): + if configuration is None: + configuration = Configuration() + self.configuration = configuration + + self.pool = ThreadPool() + # Take care not to clean up the ThreadPool in a destructor method, + # since this can cause Python <= 3.8 to hang when interacting with + # threads in an invalid state. Instead, do it at exit. + self._closed = False + atexit.register(self.close) + + self.rest_client = rest.RESTClientObject(configuration) + self.default_headers = {} + if header_name is not None: + self.default_headers[header_name] = header_value + self.cookie = cookie + # Set default User-Agent. + self.user_agent = 'Swagger-Codegen/2.26/python' + + def close(self): + if self._closed: + return + self._closed = True + if hasattr(atexit, 'unregister'): + atexit.unregister(self.close) + + self.pool.close() + self.pool.join() + + @property + def user_agent(self): + """User agent for this API client""" + return self.default_headers['User-Agent'] + + @user_agent.setter + def user_agent(self, value): + self.default_headers['User-Agent'] = value + + def set_default_header(self, header_name, header_value): + self.default_headers[header_name] = header_value + + def __call_api( + self, resource_path, method, path_params=None, + query_params=None, header_params=None, body=None, post_params=None, + files=None, response_type=None, auth_settings=None, + _return_http_data_only=None, collection_formats=None, + _preload_content=True, _request_timeout=None): + + config = self.configuration + + # header parameters + header_params = header_params or {} + header_params.update(self.default_headers) + if self.cookie: + header_params['Cookie'] = self.cookie + if header_params: + header_params = self.sanitize_for_serialization(header_params) + header_params = dict(self.parameters_to_tuples(header_params, + collection_formats)) + + # path parameters + if path_params: + path_params = self.sanitize_for_serialization(path_params) + path_params = self.parameters_to_tuples(path_params, + collection_formats) + for k, v in path_params: + # specified safe chars, encode everything + resource_path = resource_path.replace( + '{%s}' % k, + quote(str(v), safe=config.safe_chars_for_path_param) + ) + + # query parameters + if query_params: + query_params = self.sanitize_for_serialization(query_params) + query_params = self.parameters_to_tuples(query_params, + collection_formats) + + # post parameters + if post_params or files: + post_params = self.prepare_post_parameters(post_params, files) + post_params = self.sanitize_for_serialization(post_params) + post_params = self.parameters_to_tuples(post_params, + collection_formats) + + # auth setting + self.update_params_for_auth(header_params, query_params, auth_settings) + + # body + if body: + body = self.sanitize_for_serialization(body) + + # request url + url = self.configuration.host + resource_path + + # perform request and return response + response_data = self.request( + method, url, query_params=query_params, headers=header_params, + post_params=post_params, body=body, + _preload_content=_preload_content, + _request_timeout=_request_timeout) + + self.last_response = response_data + + return_data = response_data + if _preload_content: + # deserialize response data + if response_type: + return_data = self.deserialize(response_data, response_type) + else: + return_data = None + + if _return_http_data_only: + return (return_data) + else: + return (return_data, response_data.status, + response_data.getheaders()) + + def extract_object_dict_from_object(self, obj): + """Convert model obj to dict, using `swagger_types` + and use `attribute_map` to determine json keys. """ + obj_dict = {obj.attribute_map[attr]: getattr(obj, attr) + for attr, _ in six.iteritems(obj.swagger_types) + if hasattr(obj, attr)} + return obj_dict + + def sanitize_for_serialization(self, obj): + """Builds a JSON POST object. + + If obj is None, return None. + If obj is str, int, long, float, bool, return directly. + If obj is datetime.datetime, datetime.date + convert to string in iso8601 format. + If obj is list, sanitize each element in the list. + If obj is dict, return the dict. + If obj is swagger model, return the properties dict. + + :param obj: The data to serialize. + :return: The serialized form of data. + """ + if obj is None: + return None + elif isinstance(obj, self.PRIMITIVE_TYPES): + return obj + elif isinstance(obj, list): + return [self.sanitize_for_serialization(sub_obj) + for sub_obj in obj] + elif isinstance(obj, tuple): + return tuple(self.sanitize_for_serialization(sub_obj) + for sub_obj in obj) + elif isinstance(obj, (datetime.datetime, datetime.date)): + return obj.isoformat() + + if isinstance(obj, dict): + obj_dict = obj + else: + obj_dict = self.extract_object_dict_from_object(obj) + + return {key: self.sanitize_for_serialization(val) + for key, val in six.iteritems(obj_dict)} + + def deserialize(self, response, response_type): + """Deserializes response into an object. + + :param response: RESTResponse object to be deserialized. + :param response_type: class literal for + deserialized object, or string of class name. + + :return: deserialized object. + """ + # handle file downloading + # save response body into a tmp file and return the instance + if response_type == "file" or response_type == "KeytabFileResponse": + return self.__deserialize_file(response) + + # fetch data from response object + try: + data = json.loads(response.data) + except ValueError: + data = response.data + + return self.__deserialize(data, response_type) + + def __deserialize(self, data, klass): + """Deserializes dict, list, str into an object. + + :param data: dict, list or str. + :param klass: class literal, or string of class name. + + :return: object. + """ + if data is None: + return None + + if type(klass) == str: + if klass.startswith('list['): + sub_kls = re.match(r'list\[(.*)\]', klass).group(1) + return [self.__deserialize(sub_data, sub_kls) + for sub_data in data] + + if klass.startswith('dict('): + sub_kls = re.match(r'dict\(([^,]*), (.*)\)', klass).group(2) + return {k: self.__deserialize(v, sub_kls) + for k, v in six.iteritems(data)} + + # convert str to class + if klass in self.NATIVE_TYPES_MAPPING: + klass = self.NATIVE_TYPES_MAPPING[klass] + else: + klass = getattr(models, klass) + + if klass in self.PRIMITIVE_TYPES: + return self.__deserialize_primitive(data, klass) + elif klass == object: + return self.__deserialize_object(data) + elif klass == datetime.date: + return self.__deserialize_date(data) + elif klass == datetime.datetime: + return self.__deserialize_datatime(data) + else: + return self.__deserialize_model(data, klass) + + def call_api(self, resource_path, method, + path_params=None, query_params=None, header_params=None, + body=None, post_params=None, files=None, + response_type=None, auth_settings=None, async_req=None, + _return_http_data_only=None, collection_formats=None, + _preload_content=True, _request_timeout=None): + """Makes the HTTP request (synchronous) and returns deserialized data. + + To make an async request, set the async_req parameter. + + :param resource_path: Path to method endpoint. + :param method: Method to call. + :param path_params: Path parameters in the url. + :param query_params: Query parameters in the url. + :param header_params: Header parameters to be + placed in the request header. + :param body: Request body. + :param post_params dict: Request post form parameters, + for `application/x-www-form-urlencoded`, `multipart/form-data`. + :param auth_settings list: Auth Settings names for the request. + :param response: Response data type. + :param files dict: key -> filename, value -> filepath, + for `multipart/form-data`. + :param async_req bool: execute request asynchronously + :param _return_http_data_only: response data without head status code + and headers + :param collection_formats: dict of collection formats for path, query, + header, and post parameters. + :param _preload_content: if False, the urllib3.HTTPResponse object will + be returned without reading/decoding response + data. Default is True. + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :return: + If async_req parameter is True, + the request will be called asynchronously. + The method will return the request thread. + If parameter async_req is False or missing, + then the method will return the response directly. + """ + if not async_req: + return self.__call_api(resource_path, method, + path_params, query_params, header_params, + body, post_params, files, + response_type, auth_settings, + _return_http_data_only, collection_formats, + _preload_content, _request_timeout) + else: + thread = self.pool.apply_async(self.__call_api, (resource_path, + method, path_params, query_params, + header_params, body, + post_params, files, + response_type, auth_settings, + _return_http_data_only, + collection_formats, + _preload_content, _request_timeout)) + return thread + + def request(self, method, url, query_params=None, headers=None, + post_params=None, body=None, _preload_content=True, + _request_timeout=None): + """Makes the HTTP request using RESTClient.""" + if method == "GET": + return self.rest_client.GET(url, + query_params=query_params, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + headers=headers) + elif method == "HEAD": + return self.rest_client.HEAD(url, + query_params=query_params, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + headers=headers) + elif method == "OPTIONS": + return self.rest_client.OPTIONS(url, + query_params=query_params, + headers=headers, + post_params=post_params, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + body=body) + elif method == "POST": + return self.rest_client.POST(url, + query_params=query_params, + headers=headers, + post_params=post_params, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + body=body) + elif method == "PUT": + return self.rest_client.PUT(url, + query_params=query_params, + headers=headers, + post_params=post_params, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + body=body) + elif method == "PATCH": + return self.rest_client.PATCH(url, + query_params=query_params, + headers=headers, + post_params=post_params, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + body=body) + elif method == "DELETE": + return self.rest_client.DELETE(url, + query_params=query_params, + headers=headers, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + body=body) + else: + raise ValueError( + "http method must be `GET`, `HEAD`, `OPTIONS`," + " `POST`, `PATCH`, `PUT` or `DELETE`." + ) + + def parameters_to_tuples(self, params, collection_formats): + """Get parameters as list of tuples, formatting collections. + + :param params: Parameters as dict or list of two-tuples + :param dict collection_formats: Parameter collection formats + :return: Parameters as list of tuples, collections formatted + """ + new_params = [] + if collection_formats is None: + collection_formats = {} + for k, v in six.iteritems(params) if isinstance(params, dict) else params: + if k in collection_formats: + collection_format = collection_formats[k] + if collection_format == 'multi': + new_params.extend((k, value) for value in v) + else: + if collection_format == 'ssv': + delimiter = ' ' + elif collection_format == 'tsv': + delimiter = '\t' + elif collection_format == 'pipes': + delimiter = '|' + else: # csv is the default + delimiter = ',' + new_params.append( + (k, delimiter.join(str(value) for value in v))) + else: + new_params.append((k, v)) + return new_params + + def prepare_post_parameters(self, post_params=None, files=None): + """Builds form parameters. + + :param post_params: Normal form parameters. + :param files: File parameters. + :return: Form parameters with files. + """ + params = [] + + if post_params: + params = post_params + + if files: + for k, v in six.iteritems(files): + if not v: + continue + file_names = v if type(v) is list else [v] + for n in file_names: + with open(n, 'rb') as f: + filename = os.path.basename(f.name) + filedata = f.read() + mimetype = (mimetypes.guess_type(filename)[0] or + 'application/octet-stream') + params.append( + tuple([k, tuple([filename, filedata, mimetype])])) + + return params + + def select_header_accept(self, accepts): + """Returns `Accept` based on an array of accepts provided. + + :param accepts: List of headers. + :return: Accept (e.g. application/json). + """ + if not accepts: + return + + accepts = [x.lower() for x in accepts] + + if 'application/json' in accepts: + return 'application/json' + else: + return ', '.join(accepts) + + def select_header_content_type(self, content_types): + """Returns `Content-Type` based on an array of content_types provided. + + :param content_types: List of content-types. + :return: Content-Type (e.g. application/json). + """ + if not content_types: + return 'application/json' + + content_types = [x.lower() for x in content_types] + + if 'application/json' in content_types or '*/*' in content_types: + return 'application/json' + else: + return content_types[0] + + def update_params_for_auth(self, headers, querys, auth_settings): + """Updates header and query params based on authentication setting. + + :param headers: Header parameters dict to be updated. + :param querys: Query parameters tuple list to be updated. + :param auth_settings: Authentication setting identifiers list. + """ + if not auth_settings: + return + + for auth in auth_settings: + auth_setting = self.configuration.auth_settings().get(auth) + if auth_setting: + if not auth_setting['value']: + continue + elif auth_setting['in'] == 'header': + headers[auth_setting['key']] = auth_setting['value'] + elif auth_setting['in'] == 'query': + querys.append((auth_setting['key'], auth_setting['value'])) + else: + raise ValueError( + 'Authentication token must be in `query` or `header`' + ) + + def __deserialize_file(self, response): + """Deserializes body to file + + Saves response body into a file in a temporary folder, + using the filename from the `Content-Disposition` header if provided. + + :param response: RESTResponse. + :return: file path. + """ + + # If no results, just return None + if response.data == "": + return None + + fd, path = tempfile.mkstemp(dir=self.configuration.temp_folder_path) + os.close(fd) + os.remove(path) + + content_disposition = response.getheader("Content-Disposition") + if content_disposition: + filename = re.search(r'filename=[\'"]?([^\'"\s]+)[\'"]?', + content_disposition).group(1) + path = os.path.join(os.path.dirname(path), filename) + + if type(response.data) == str: + with open(path, "w") as f: + f.write(response.data) + else: + with open(path, "wb") as f: + f.write(response.data) + + return path + + def __deserialize_primitive(self, data, klass): + """Deserializes string to primitive type. + + :param data: str. + :param klass: class literal. + + :return: int, long, float, str, bool. + """ + try: + return klass(data) + except UnicodeEncodeError: + return six.text_type(data) + except TypeError: + return data + + def __deserialize_object(self, value): + """Return a original value. + + :return: object. + """ + return value + + def __deserialize_date(self, string): + """Deserializes string to date. + + :param string: str. + :return: date. + """ + try: + from dateutil.parser import parse + return parse(string).date() + except ImportError: + return string + except ValueError: + raise rest.ApiException( + status=0, + reason="Failed to parse `{0}` as date object".format(string) + ) + + def __deserialize_datatime(self, string): + """Deserializes string to datetime. + + The string should be in iso8601 datetime format. + + :param string: str. + :return: datetime. + """ + try: + from dateutil.parser import parse + return parse(string) + except ImportError: + return string + except ValueError: + raise rest.ApiException( + status=0, + reason=( + "Failed to parse `{0}` as datetime object" + .format(string) + ) + ) + + def __deserialize_model(self, data, klass): + """Deserializes list or dict to model. + + :param data: dict, list. + :param klass: class literal. + :return: model object. + """ + + if not klass.swagger_types and not hasattr(klass, + 'get_real_child_model'): + return data + + kwargs = {} + if klass.swagger_types is not None: + for attr, attr_type in six.iteritems(klass.swagger_types): + if (data is not None and + klass.attribute_map[attr] in data and + isinstance(data, (list, dict))): + value = data[klass.attribute_map[attr]] + kwargs[attr] = self.__deserialize(value, attr_type) + + instance = klass(**kwargs) + + if (isinstance(instance, dict) and + klass.swagger_types is not None and + isinstance(data, dict)): + for key, value in data.items(): + if key not in klass.swagger_types: + instance[key] = value + if hasattr(instance, 'get_real_child_model'): + klass_name = instance.get_real_child_model(data) + if klass_name: + instance = self.__deserialize(data, klass_name) + return instance diff --git a/pypureclient/flasharray/FA_2_26/client.py b/pypureclient/flasharray/FA_2_26/client.py new file mode 100644 index 000000000..b65c80f48 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/client.py @@ -0,0 +1,33245 @@ +import json +import platform +import time +import urllib3 +from typing import List, Optional + +from ...exceptions import PureError +from ...keywords import Headers, Responses +from ...responses import ValidResponse, ErrorResponse, ApiError, ItemIterator +from ...token_manager import TokenManager +from ...api_token_manager import APITokenManager +from ...client_settings import USER_AGENT_TEMPLATE, resolve_ssl_validation +from .api_client import ApiClient +from .rest import ApiException +from .configuration import Configuration +from . import api +from . import models + + +class Client(object): + DEFAULT_TIMEOUT = 15.0 + DEFAULT_RETRIES = 5 + # Format: client/client_version/endpoint/endpoint_version/system/release + USER_AGENT = USER_AGENT_TEMPLATE.format(prod='FA', rest_version='2.26', sys=platform.system(), rel=platform.release()) + + def __init__(self, target, id_token=None, private_key_file=None, private_key_password=None, + username=None, client_id=None, key_id=None, issuer=None, api_token=None, + retries=DEFAULT_RETRIES, timeout=DEFAULT_TIMEOUT, ssl_cert=None, user_agent=None, + verify_ssl=None): + """ + Initialize a FlashArray Client. id_token is generated based on app ID and private + key info. Either id_token or api_token could be used for authentication. Only one + authentication option is allowed. + + Keyword args: + target (str, required): + The target array's IP or hostname. + id_token (str, optional): + The security token that represents the identity of the party on + behalf of whom the request is being made, issued by an enabled + API client on the array. Overrides given private key. + private_key_file (str, optional): + The path of the private key to use. Defaults to None. + private_key_password (str, optional): + The password of the private key. Defaults to None. + username (str, optional): + Username of the user the token should be issued for. This must + be a valid user in the system. + client_id (str, optional): + ID of API client that issued the identity token. + key_id (str, optional): + Key ID of API client that issued the identity token. + issuer (str, optional): + API client's trusted identity issuer on the array. + api_token (str, optional): + API token for the user. + retries (int, optional): + The number of times to retry an API call if it fails for a + non-blocking reason. Defaults to 5. + timeout (float or (float, float), optional): + The timeout duration in seconds, either in total time or + (connect and read) times. Defaults to 15.0 total. + ssl_cert (str, optional): + SSL certificate to use. Defaults to None. + user_agent (str, optional): + User-Agent request header to use. + verify_ssl (bool | str, optional): + Controls SSL certificate validation. + `True` specifies that the server validation uses default trust anchors; + `False` switches certificate validation off, **not safe!**; + It also accepts string value for a path to directory with certificates. + + Raises: + PureError: If it could not create an ID or access token + """ + urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning) + config = Configuration() + config.verify_ssl = resolve_ssl_validation(verify_ssl) + config.ssl_ca_cert = ssl_cert + config.host = self._get_base_url(target) + + if id_token and api_token: + raise PureError("Only one authentication option is allowed. Please use either id_token or api_token and try again!") + elif private_key_file and private_key_password and username and \ + key_id and client_id and issuer and api_token: + raise PureError("id_token is generated based on app ID and private key info. Please use either id_token or api_token and try again!") + elif api_token: + api_token_auth_endpoint = self._get_api_token_endpoint(target) + self._token_man = APITokenManager(api_token_auth_endpoint, api_token, verify_ssl=config.verify_ssl) + else: + auth_endpoint = 'https://{}/oauth2/1.0/token'.format(target) + headers = { + 'kid': key_id + } + payload = { + 'iss': issuer, + 'aud': client_id, + 'sub': username, + } + self._token_man = TokenManager(auth_endpoint, id_token, private_key_file, private_key_password, + payload=payload, headers=headers, verify_ssl=config.verify_ssl) + + self._api_client = ApiClient(configuration=config) + self._api_client.user_agent = user_agent or self.USER_AGENT + self._set_agent_header() + self._set_auth_header() + + # Read timeout and retries + self._retries = retries + self._timeout = timeout + + # Instantiate APIs + self._active_directory_api = api.ActiveDirectoryApi(self._api_client) + self._administrators_api = api.AdministratorsApi(self._api_client) + self._alert_watchers_api = api.AlertWatchersApi(self._api_client) + self._alerts_api = api.AlertsApi(self._api_client) + self._api_clients_api = api.APIClientsApi(self._api_client) + self._apps_api = api.AppsApi(self._api_client) + self._array_connections_api = api.ArrayConnectionsApi(self._api_client) + self._arrays_api = api.ArraysApi(self._api_client) + self._audits_api = api.AuditsApi(self._api_client) + self._certificates_api = api.CertificatesApi(self._api_client) + self._connections_api = api.ConnectionsApi(self._api_client) + self._container_default_protections_api = api.ContainerDefaultProtectionsApi(self._api_client) + self._controllers_api = api.ControllersApi(self._api_client) + self._directories_api = api.DirectoriesApi(self._api_client) + self._directory_exports_api = api.DirectoryExportsApi(self._api_client) + self._directory_quotas_api = api.DirectoryQuotasApi(self._api_client) + self._directory_services_api = api.DirectoryServicesApi(self._api_client) + self._directory_snapshots_api = api.DirectorySnapshotsApi(self._api_client) + self._dns_api = api.DNSApi(self._api_client) + self._drives_api = api.DrivesApi(self._api_client) + self._file_systems_api = api.FileSystemsApi(self._api_client) + self._files_api = api.FilesApi(self._api_client) + self._hardware_api = api.HardwareApi(self._api_client) + self._host_groups_api = api.HostGroupsApi(self._api_client) + self._hosts_api = api.HostsApi(self._api_client) + self._kmip_api = api.KMIPApi(self._api_client) + self._maintenance_windows_api = api.MaintenanceWindowsApi(self._api_client) + self._network_interfaces_api = api.NetworkInterfacesApi(self._api_client) + self._offloads_api = api.OffloadsApi(self._api_client) + self._pod_replica_links_api = api.PodReplicaLinksApi(self._api_client) + self._pods_api = api.PodsApi(self._api_client) + self._policies_api = api.PoliciesApi(self._api_client) + self._ports_api = api.PortsApi(self._api_client) + self._protection_group_snapshots_api = api.ProtectionGroupSnapshotsApi(self._api_client) + self._protection_groups_api = api.ProtectionGroupsApi(self._api_client) + self._remote_pods_api = api.RemotePodsApi(self._api_client) + self._remote_protection_group_snapshots_api = api.RemoteProtectionGroupSnapshotsApi(self._api_client) + self._remote_protection_groups_api = api.RemoteProtectionGroupsApi(self._api_client) + self._remote_volume_snapshots_api = api.RemoteVolumeSnapshotsApi(self._api_client) + self._saml2_sso_api = api.SAML2SSOApi(self._api_client) + self._sessions_api = api.SessionsApi(self._api_client) + self._smi_s_api = api.SMISApi(self._api_client) + self._smtp_api = api.SMTPApi(self._api_client) + self._snmp_agents_api = api.SNMPAgentsApi(self._api_client) + self._snmp_managers_api = api.SNMPManagersApi(self._api_client) + self._software_api = api.SoftwareApi(self._api_client) + self._subnets_api = api.SubnetsApi(self._api_client) + self._subscription_assets_api = api.SubscriptionAssetsApi(self._api_client) + self._subscriptions_api = api.SubscriptionsApi(self._api_client) + self._support_api = api.SupportApi(self._api_client) + self._syslog_api = api.SyslogApi(self._api_client) + self._vchosts_api = api.VchostsApi(self._api_client) + self._virtual_machines_api = api.VirtualMachinesApi(self._api_client) + self._volume_groups_api = api.VolumeGroupsApi(self._api_client) + self._volume_snapshots_api = api.VolumeSnapshotsApi(self._api_client) + self._volumes_api = api.VolumesApi(self._api_client) + + def __del__(self): + # Cleanup this REST API client resources + if self._api_client: + self._api_client.close() + + def get_rest_version(self): + """Get the REST API version being used by this client. + + Returns: + str + + """ + return '2.26' + + def get_access_token(self, refresh=False): + """ + Get the last used access token. + + Args: + refresh (bool, optional): + Whether to retrieve a new access token. Defaults to False. + + Returns: + str + + Raises: + PureError: If there was an error retrieving an access token. + """ + return self._token_man.get_access_token(refresh) + + def delete_active_directory( + self, + references=None, # type: List[models.ReferenceType] + names=None, # type: List[str] + authorization=None, # type: str + x_request_id=None, # type: str + local_only=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """ + Deletes one or more specified Active Directory accounts. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names keyword arguments. + + names (list[str], required): + Performs the operation on the unique name specified. For example, `name01`. + Enter multiple names in comma-separated format. + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + local_only (bool, optional): + If specified as `true`, only delete the Active Directory configuration on the + local array, without deleting the computer account created in the Active + Directory domain. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + names=names, + authorization=authorization, + x_request_id=x_request_id, + local_only=local_only, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._active_directory_api.api226_active_directory_delete_with_http_info + _process_references(references, ['names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_active_directory( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + filter=None, # type: str + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.ActiveDirectoryGetResponse + """ + Displays configured Active Directory accounts. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + continuation_token (str, optional): + An opaque token to iterate over a collection of resources. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + continuation_token=continuation_token, + filter=filter, + limit=limit, + names=names, + offset=offset, + sort=sort, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._active_directory_api.api226_active_directory_get_with_http_info + _process_references(references, ['names'], kwargs) + return self._call_api(endpoint, kwargs) + + def patch_active_directory( + self, + references=None, # type: List[models.ReferenceType] + names=None, # type: List[str] + active_directory=None, # type: models.ActiveDirectoryPatch + authorization=None, # type: str + x_request_id=None, # type: str + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.ActiveDirectoryResponse + """ + Modifies specified Active Directory account. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names keyword arguments. + + names (list[str], required): + Performs the operation on the unique name specified. For example, `name01`. + Enter multiple names in comma-separated format. + active_directory (ActiveDirectoryPatch, required): + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + names=names, + active_directory=active_directory, + authorization=authorization, + x_request_id=x_request_id, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._active_directory_api.api226_active_directory_patch_with_http_info + _process_references(references, ['names'], kwargs) + return self._call_api(endpoint, kwargs) + + def post_active_directory( + self, + references=None, # type: List[models.ReferenceType] + names=None, # type: List[str] + active_directory=None, # type: models.ActiveDirectoryPost + authorization=None, # type: str + x_request_id=None, # type: str + join_existing_account=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.ActiveDirectoryResponse + """ + Creates one or more Active Directory accounts. The `user` and `password` + provided are used to join the array to the specified `domain`. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names keyword arguments. + + names (list[str], required): + Performs the operation on the unique name specified. For example, `name01`. + Enter multiple names in comma-separated format. + active_directory (ActiveDirectoryPost, required): + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + join_existing_account (bool, optional): + If specified as `true`, the domain is searched for a pre-existing computer + account to join to, and no new account will be created within the domain. The + `user` specified when joining a pre-existing account must have permissions to + 'read all properties from' and 'reset the password of' the pre-existing account. + `join_ou` will be read from the pre-existing account and cannot be specified + when joining to an existing account. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + names=names, + active_directory=active_directory, + authorization=authorization, + x_request_id=x_request_id, + join_existing_account=join_existing_account, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._active_directory_api.api226_active_directory_post_with_http_info + _process_references(references, ['names'], kwargs) + return self._call_api(endpoint, kwargs) + + def delete_admins_api_tokens( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """ + Deletes the API tokens of the specified administrators. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + names=names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._administrators_api.api226_admins_api_tokens_delete_with_http_info + _process_references(references, ['names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_admins_api_tokens( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + expose_api_token=None, # type: bool + filter=None, # type: str + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.AdminApiTokenGetResponse + """ + Displays API tokens for the specified administrators. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + continuation_token (str, optional): + An opaque token to iterate over a collection of resources. + expose_api_token (bool, optional): + If `true`, exposes the API token of the current user. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + continuation_token=continuation_token, + expose_api_token=expose_api_token, + filter=filter, + limit=limit, + names=names, + offset=offset, + sort=sort, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._administrators_api.api226_admins_api_tokens_get_with_http_info + _process_references(references, ['names'], kwargs) + return self._call_api(endpoint, kwargs) + + def post_admins_api_tokens( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + timeout=None, # type: int + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.AdminApiTokenResponse + """ + Creates API tokens for the specified administrators. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + timeout (int, optional): + The duration of API token validity, in milliseconds. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + names=names, + timeout=timeout, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._administrators_api.api226_admins_api_tokens_post_with_http_info + _process_references(references, ['names'], kwargs) + return self._call_api(endpoint, kwargs) + + def delete_admins_cache( + self, + remove_all_entries=None, # type: bool + authorization=None, # type: str + x_request_id=None, # type: str + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """ + Deletes all entries from the administrator cache. + + Args: + + remove_all_entries (bool, required): + If set to `true`, removes all entries from the administrator cache. + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + remove_all_entries=remove_all_entries, + authorization=authorization, + x_request_id=x_request_id, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._administrators_api.api226_admins_cache_delete_with_http_info + return self._call_api(endpoint, kwargs) + + def get_admins_cache( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + filter=None, # type: str + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.AdminCacheGetResponse + """ + Displays entries in the administrator cache. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + continuation_token (str, optional): + An opaque token to iterate over a collection of resources. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + continuation_token=continuation_token, + filter=filter, + limit=limit, + names=names, + offset=offset, + sort=sort, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._administrators_api.api226_admins_cache_get_with_http_info + _process_references(references, ['names'], kwargs) + return self._call_api(endpoint, kwargs) + + def put_admins_cache( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.AdminCacheResponse + """ + Updates entries in the cache for administrators who currently do not have a + cache entry, otherwise refreshes the existing entry. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + names=names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._administrators_api.api226_admins_cache_put_with_http_info + _process_references(references, ['names'], kwargs) + return self._call_api(endpoint, kwargs) + + def delete_admins( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """ + Deletes the specified administrator. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + names=names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._administrators_api.api226_admins_delete_with_http_info + _process_references(references, ['names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_admins( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + expose_api_token=None, # type: bool + filter=None, # type: str + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.AdminGetResponse + """ + Displays a list of administrators. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + continuation_token (str, optional): + An opaque token to iterate over a collection of resources. + expose_api_token (bool, optional): + If `true`, exposes the API token of the current user. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + continuation_token=continuation_token, + expose_api_token=expose_api_token, + filter=filter, + limit=limit, + names=names, + offset=offset, + sort=sort, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._administrators_api.api226_admins_get_with_http_info + _process_references(references, ['names'], kwargs) + return self._call_api(endpoint, kwargs) + + def patch_admins( + self, + references=None, # type: List[models.ReferenceType] + admin=None, # type: models.AdminPatch + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.AdminResponse + """ + Modifies properties for the specified administrator. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names keyword arguments. + + admin (AdminPatch, required): + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + admin=admin, + authorization=authorization, + x_request_id=x_request_id, + names=names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._administrators_api.api226_admins_patch_with_http_info + _process_references(references, ['names'], kwargs) + return self._call_api(endpoint, kwargs) + + def post_admins( + self, + references=None, # type: List[models.ReferenceType] + admin=None, # type: models.AdminPost + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.AdminResponse + """ + Creates an administrator. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names keyword arguments. + + admin (AdminPost, required): + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + admin=admin, + authorization=authorization, + x_request_id=x_request_id, + names=names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._administrators_api.api226_admins_post_with_http_info + _process_references(references, ['names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_admins_settings( + self, + authorization=None, # type: str + x_request_id=None, # type: str + filter=None, # type: str + limit=None, # type: int + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.AdminSettingsResponse + """ + Displays the global administrator settings for the array. + + Args: + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + filter=filter, + limit=limit, + offset=offset, + sort=sort, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._administrators_api.api226_admins_settings_get_with_http_info + return self._call_api(endpoint, kwargs) + + def patch_admins_settings( + self, + admin_settings=None, # type: models.AdminSettings + authorization=None, # type: str + x_request_id=None, # type: str + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.AdminSettingsResponse + """ + Modifies the global administrator settings for the array. + + Args: + + admin_settings (AdminSettings, required): + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + admin_settings=admin_settings, + authorization=authorization, + x_request_id=x_request_id, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._administrators_api.api226_admins_settings_patch_with_http_info + return self._call_api(endpoint, kwargs) + + def delete_alert_watchers( + self, + references=None, # type: List[models.ReferenceType] + names=None, # type: List[str] + authorization=None, # type: str + x_request_id=None, # type: str + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """ + Delete alert watcher email address from the list of alert watchers. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names keyword arguments. + + names (list[str], required): + Performs the operation on the unique name specified. For example, `name01`. + Enter multiple names in comma-separated format. + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + names=names, + authorization=authorization, + x_request_id=x_request_id, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._alert_watchers_api.api226_alert_watchers_delete_with_http_info + _process_references(references, ['names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_alert_watchers( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + filter=None, # type: str + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.AlertWatcherGetResponse + """ + Displays alert watcher email addressess and indicates whether they are + `enabled`. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + continuation_token (str, optional): + An opaque token to iterate over a collection of resources. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + continuation_token=continuation_token, + filter=filter, + limit=limit, + names=names, + offset=offset, + sort=sort, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._alert_watchers_api.api226_alert_watchers_get_with_http_info + _process_references(references, ['names'], kwargs) + return self._call_api(endpoint, kwargs) + + def patch_alert_watchers( + self, + references=None, # type: List[models.ReferenceType] + names=None, # type: List[str] + alert_watcher=None, # type: models.AlertWatcherPatch + authorization=None, # type: str + x_request_id=None, # type: str + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.AlertWatcherResponse + """ + Modify alert watcher email address by enabling or disabling it. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names keyword arguments. + + names (list[str], required): + Performs the operation on the unique name specified. For example, `name01`. + Enter multiple names in comma-separated format. + alert_watcher (AlertWatcherPatch, required): + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + names=names, + alert_watcher=alert_watcher, + authorization=authorization, + x_request_id=x_request_id, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._alert_watchers_api.api226_alert_watchers_patch_with_http_info + _process_references(references, ['names'], kwargs) + return self._call_api(endpoint, kwargs) + + def post_alert_watchers( + self, + references=None, # type: List[models.ReferenceType] + names=None, # type: List[str] + authorization=None, # type: str + x_request_id=None, # type: str + alert_watcher=None, # type: models.AlertWatcherPost + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.AlertWatcherResponse + """ + Creates one or more alert watcher email addresses, adding them to the list of + alert watchers. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names keyword arguments. + + names (list[str], required): + Performs the operation on the unique name specified. For example, `name01`. + Enter multiple names in comma-separated format. + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + names=names, + authorization=authorization, + x_request_id=x_request_id, + alert_watcher=alert_watcher, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._alert_watchers_api.api226_alert_watchers_post_with_http_info + _process_references(references, ['names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_alert_watchers_test( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + filter=None, # type: str + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.TestResultWithResourceGetResponse + """ + Displays alert watcher email test results. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + filter=filter, + limit=limit, + names=names, + offset=offset, + sort=sort, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._alert_watchers_api.api226_alert_watchers_test_get_with_http_info + _process_references(references, ['names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_alerts_events( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + filter=None, # type: str + flagged=None, # type: bool + ids=None, # type: List[str] + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.AlertEventGetResponse + """ + Displays a list of alert events. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides ids and names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + continuation_token (str, optional): + An opaque token to iterate over a collection of resources. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + flagged (bool, optional): + If set to `true`, lists only flagged messages. If set to `false`, lists only + unflagged messages. if not specified, lists all messages. + ids (list[str], optional): + Performs the operation on the unique resource IDs specified. Enter multiple + resource IDs in comma-separated format. The `ids` or `names` parameter is + required, but they cannot be set together. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + names (list[str], optional): + Performs the operation on the unique name specified. For example, `name01`. + Enter multiple names in comma-separated format. The `ids` or `names` parameter + is required, but they cannot be set together. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + continuation_token=continuation_token, + filter=filter, + flagged=flagged, + ids=ids, + limit=limit, + names=names, + offset=offset, + sort=sort, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._alerts_api.api226_alerts_events_get_with_http_info + _process_references(references, ['ids', 'names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_alerts( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + filter=None, # type: str + flagged=None, # type: bool + ids=None, # type: List[str] + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.AlertGetResponse + """ + Displays a list of alerts. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides ids and names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + continuation_token (str, optional): + An opaque token to iterate over a collection of resources. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + flagged (bool, optional): + If set to `true`, lists only flagged messages. If set to `false`, lists only + unflagged messages. if not specified, lists all messages. + ids (list[str], optional): + Performs the operation on the unique resource IDs specified. Enter multiple + resource IDs in comma-separated format. The `ids` or `names` parameter is + required, but they cannot be set together. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + continuation_token=continuation_token, + filter=filter, + flagged=flagged, + ids=ids, + limit=limit, + names=names, + offset=offset, + sort=sort, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._alerts_api.api226_alerts_get_with_http_info + _process_references(references, ['ids', 'names'], kwargs) + return self._call_api(endpoint, kwargs) + + def patch_alerts( + self, + references=None, # type: List[models.ReferenceType] + alert=None, # type: models.Alert + authorization=None, # type: str + x_request_id=None, # type: str + ids=None, # type: List[str] + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.AlertResponse + """ + Modifies one or more alerts and display updated information about these alerts. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides ids and names keyword arguments. + + alert (Alert, required): + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + ids (list[str], optional): + Performs the operation on the unique resource IDs specified. Enter multiple + resource IDs in comma-separated format. The `ids` or `names` parameter is + required, but they cannot be set together. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + alert=alert, + authorization=authorization, + x_request_id=x_request_id, + ids=ids, + names=names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._alerts_api.api226_alerts_patch_with_http_info + _process_references(references, ['ids', 'names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_alerts_rules_catalog( + self, + authorization=None, # type: str + x_request_id=None, # type: str + filter=None, # type: str + limit=None, # type: int + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + code=None, # type: int + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.AlertRulesCatalogGetResponse + """ + Displays a list of available customizable alert codes. + + Args: + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + code (int, optional): + The alert code to display. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + filter=filter, + limit=limit, + offset=offset, + sort=sort, + total_item_count=total_item_count, + code=code, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._alerts_api.api226_alerts_rules_catalog_get_with_http_info + return self._call_api(endpoint, kwargs) + + def delete_alerts_rules( + self, + code=None, # type: int + parameter=None, # type: str + authorization=None, # type: str + x_request_id=None, # type: str + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """ + Deletes a custom alert rule. + + Args: + + code (int, required): + The alert code that the rule applies to. Available alert codes for customization + can be found in the alert rules catalog. + parameter (str, required): + The parameter of the custom alert rule to modify. Values include `info` and + `warning`. Available parameter values can be found in the alert rules catalog. + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + code=code, + parameter=parameter, + authorization=authorization, + x_request_id=x_request_id, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._alerts_api.api226_alerts_rules_delete_with_http_info + return self._call_api(endpoint, kwargs) + + def get_alerts_rules( + self, + authorization=None, # type: str + x_request_id=None, # type: str + filter=None, # type: str + limit=None, # type: int + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + code=None, # type: int + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.AlertRulesGetResponse + """ + Displays a list of custom alert rules. + + Args: + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + code (int, optional): + The alert code to display. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + filter=filter, + limit=limit, + offset=offset, + sort=sort, + total_item_count=total_item_count, + code=code, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._alerts_api.api226_alerts_rules_get_with_http_info + return self._call_api(endpoint, kwargs) + + def patch_alerts_rules( + self, + code=None, # type: int + parameter=None, # type: str + alert_rule=None, # type: models.AlertRules + authorization=None, # type: str + x_request_id=None, # type: str + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.AlertRulesResponse + """ + Modifies a custom alert rule to a new value. + + Args: + + code (int, required): + The alert code that the rule applies to. Available alert codes for customization + can be found in the alert rules catalog. + parameter (str, required): + The parameter of the custom alert rule to modify. Values include `info` and + `warning`. Available parameter values can be found in the alert rules catalog. + alert_rule (AlertRules, required): + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + code=code, + parameter=parameter, + alert_rule=alert_rule, + authorization=authorization, + x_request_id=x_request_id, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._alerts_api.api226_alerts_rules_patch_with_http_info + return self._call_api(endpoint, kwargs) + + def post_alerts_rules( + self, + code=None, # type: int + parameter=None, # type: str + alert_rule=None, # type: models.AlertRules + authorization=None, # type: str + x_request_id=None, # type: str + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.AlertRulesResponse + """ + Creates an alert rule with a custom value. + + Args: + + code (int, required): + The alert code that the rule applies to. Available alert codes for customization + can be found in the alert rules catalog. + parameter (str, required): + The parameter of the custom alert rule to modify. Values include `info` and + `warning`. Available parameter values can be found in the alert rules catalog. + alert_rule (AlertRules, required): + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + code=code, + parameter=parameter, + alert_rule=alert_rule, + authorization=authorization, + x_request_id=x_request_id, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._alerts_api.api226_alerts_rules_post_with_http_info + return self._call_api(endpoint, kwargs) + + def delete_api_clients( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + ids=None, # type: List[str] + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """ + Deletes an API client. The `ids` or `names` parameter is required, but they + cannot be set together. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides ids and names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + ids (list[str], optional): + Performs the operation on the unique resource IDs specified. Enter multiple + resource IDs in comma-separated format. The `ids` or `names` parameter is + required, but they cannot be set together. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + ids=ids, + names=names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._api_clients_api.api226_api_clients_delete_with_http_info + _process_references(references, ['ids', 'names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_api_clients( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + filter=None, # type: str + ids=None, # type: List[str] + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.ApiClientGetResponse + """ + Returns a list of API clients. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides ids and names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + ids (list[str], optional): + Performs the operation on the unique resource IDs specified. Enter multiple + resource IDs in comma-separated format. The `ids` or `names` parameter is + required, but they cannot be set together. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + filter=filter, + ids=ids, + limit=limit, + names=names, + offset=offset, + sort=sort, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._api_clients_api.api226_api_clients_get_with_http_info + _process_references(references, ['ids', 'names'], kwargs) + return self._call_api(endpoint, kwargs) + + def patch_api_clients( + self, + references=None, # type: List[models.ReferenceType] + api_clients=None, # type: models.ApiClientPatch + authorization=None, # type: str + x_request_id=None, # type: str + ids=None, # type: List[str] + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.ApiClientResponse + """ + Enables or disables an API client. The `ids` or `names` parameter is required, + but they cannot be set together. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides ids and names keyword arguments. + + api_clients (ApiClientPatch, required): + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + ids (list[str], optional): + Performs the operation on the unique resource IDs specified. Enter multiple + resource IDs in comma-separated format. The `ids` or `names` parameter is + required, but they cannot be set together. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + api_clients=api_clients, + authorization=authorization, + x_request_id=x_request_id, + ids=ids, + names=names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._api_clients_api.api226_api_clients_patch_with_http_info + _process_references(references, ['ids', 'names'], kwargs) + return self._call_api(endpoint, kwargs) + + def post_api_clients( + self, + references=None, # type: List[models.ReferenceType] + api_clients=None, # type: models.ApiClientPost + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.ApiClientResponse + """ + Creates an API client. Newly created API clients are disabled by default. Enable + an API client through the `PATCH` method. The `names`, `max_role`, `issuer`, and + `public_key` parameters are required. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names keyword arguments. + + api_clients (ApiClientPost, required): + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + api_clients=api_clients, + authorization=authorization, + x_request_id=x_request_id, + names=names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._api_clients_api.api226_api_clients_post_with_http_info + _process_references(references, ['names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_apps( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + filter=None, # type: str + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.AppGetResponse + """ + Displays a list of installed apps. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + continuation_token (str, optional): + An opaque token to iterate over a collection of resources. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + continuation_token=continuation_token, + filter=filter, + limit=limit, + names=names, + offset=offset, + sort=sort, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._apps_api.api226_apps_get_with_http_info + _process_references(references, ['names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_apps_nodes( + self, + apps=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + app_names=None, # type: List[str] + filter=None, # type: str + limit=None, # type: int + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.AppNodeGetResponse + """ + Displays a list of installed apps and their nodes. + + Args: + apps (list[FixedReference], optional): + A list of apps to query for. Overrides app_names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + continuation_token (str, optional): + An opaque token to iterate over a collection of resources. + app_names (list[str], optional): + The name of the installed app. Enter multiple names in comma-separated format. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + continuation_token=continuation_token, + app_names=app_names, + filter=filter, + limit=limit, + offset=offset, + sort=sort, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._apps_api.api226_apps_nodes_get_with_http_info + _process_references(apps, ['app_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def patch_apps( + self, + references=None, # type: List[models.ReferenceType] + names=None, # type: List[str] + app=None, # type: models.App + authorization=None, # type: str + x_request_id=None, # type: str + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.AppResponse + """ + Modifies an installed app or modifies Virtual Network Computing (VNC) access for + apps that are being patched. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names keyword arguments. + + names (list[str], required): + Performs the operation on the unique name specified. For example, `name01`. + Enter multiple names in comma-separated format. + app (App, required): + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + names=names, + app=app, + authorization=authorization, + x_request_id=x_request_id, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._apps_api.api226_apps_patch_with_http_info + _process_references(references, ['names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_array_connections_connection_key( + self, + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.ArrayConnectionKeyGetResponse + """ + Displays the connection key for the array. + + Args: + + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._array_connections_api.api226_array_connections_connection_key_get_with_http_info + return self._call_api(endpoint, kwargs) + + def delete_array_connections( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """ + Deletes the connection to the current array from the specified array. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + names=names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._array_connections_api.api226_array_connections_delete_with_http_info + _process_references(references, ['names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_array_connections( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + filter=None, # type: str + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.ArrayConnectionGetResponse + """ + Display a list of connected arrays. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + continuation_token (str, optional): + An opaque token to iterate over a collection of resources. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + continuation_token=continuation_token, + filter=filter, + limit=limit, + names=names, + offset=offset, + sort=sort, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._array_connections_api.api226_array_connections_get_with_http_info + _process_references(references, ['names'], kwargs) + return self._call_api(endpoint, kwargs) + + def patch_array_connections( + self, + references=None, # type: List[models.ReferenceType] + array_connection=None, # type: models.Throttle + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.ArrayConnectionResponse + """ + Modifies the bandwidth throttling attributes for a connected array. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names keyword arguments. + + array_connection (Throttle, required): + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + array_connection=array_connection, + authorization=authorization, + x_request_id=x_request_id, + names=names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._array_connections_api.api226_array_connections_patch_with_http_info + _process_references(references, ['names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_array_connections_path( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + filter=None, # type: str + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.ArrayConnectionPathGetResponse + """ + Displays the connection path from the array where the connection was made. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + continuation_token (str, optional): + An opaque token to iterate over a collection of resources. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + continuation_token=continuation_token, + filter=filter, + limit=limit, + names=names, + offset=offset, + sort=sort, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._array_connections_api.api226_array_connections_path_get_with_http_info + _process_references(references, ['names'], kwargs) + return self._call_api(endpoint, kwargs) + + def post_array_connections( + self, + array_connection=None, # type: models.ArrayConnectionPost + authorization=None, # type: str + x_request_id=None, # type: str + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.ArrayConnectionResponse + """ + Creates a connection between the current array and the specified array. + + Args: + + array_connection (ArrayConnectionPost, required): + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + array_connection=array_connection, + authorization=authorization, + x_request_id=x_request_id, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._array_connections_api.api226_array_connections_post_with_http_info + return self._call_api(endpoint, kwargs) + + def put_arrays_cloud_provider_tags_batch( + self, + tag=None, # type: List[models.CloudProviderTag] + authorization=None, # type: str + x_request_id=None, # type: str + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.CloudProviderTagResponse + """ + Updates users tags to deployed cloud resources of a CBS array. + + Args: + + tag (list[CloudProviderTag], required): + A list of tags to be created or, if already existing, updated. + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + tag=tag, + authorization=authorization, + x_request_id=x_request_id, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._arrays_api.api226_arrays_cloud_provider_tags_batch_put_with_http_info + return self._call_api(endpoint, kwargs) + + def delete_arrays_cloud_provider_tags( + self, + authorization=None, # type: str + x_request_id=None, # type: str + keys=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """ + Deletes user tags from deployed cloud resources of a CBS array. + + Args: + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + keys (list[str], optional): + A list of tag keys. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + keys=keys, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._arrays_api.api226_arrays_cloud_provider_tags_delete_with_http_info + return self._call_api(endpoint, kwargs) + + def get_arrays_cloud_provider_tags( + self, + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + filter=None, # type: str + limit=None, # type: int + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.CloudProviderTagGetResponse + """ + Displays the list of user tags on deployed cloud resources of a CBS array. + + Args: + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + continuation_token (str, optional): + An opaque token to iterate over a collection of resources. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + continuation_token=continuation_token, + filter=filter, + limit=limit, + offset=offset, + sort=sort, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._arrays_api.api226_arrays_cloud_provider_tags_get_with_http_info + return self._call_api(endpoint, kwargs) + + def delete_arrays( + self, + authorization=None, # type: str + x_request_id=None, # type: str + eradicate_all_data=None, # type: bool + factory_reset_token=None, # type: int + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """ + Deletes an array. For physical appliances, deleting an array restores the + hardware to factory settings. This entails deleting all data, metadata, + configuration, and logs. The array returns to the state it was in prior to any + configuration changes being made. If the hardware is reused, it must be as a + different array with a new ID. For virtual appliances, deleting an array puts it + into an unusable state. Virtual resources (e.g., virtual machines) can later be + freed, which deletes any remaining data, metadata, configuration, and logs. + Prior to factory reset, an array must be manually prepared (e.g., all volumes + and snapshots must be eradicated) and a factory reset token must be created. + + Args: + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + eradicate_all_data (bool, optional): + Set to `true` to perform a factory reset. + factory_reset_token (int, optional): + A token required to perform a factory reset. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + eradicate_all_data=eradicate_all_data, + factory_reset_token=factory_reset_token, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._arrays_api.api226_arrays_delete_with_http_info + return self._call_api(endpoint, kwargs) + + def get_arrays_eula( + self, + authorization=None, # type: str + x_request_id=None, # type: str + filter=None, # type: str + limit=None, # type: int + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.EulaGetResponse + """ + Displays the End User Agreement and signature. + + Args: + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + filter=filter, + limit=limit, + offset=offset, + sort=sort, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._arrays_api.api226_arrays_eula_get_with_http_info + return self._call_api(endpoint, kwargs) + + def patch_arrays_eula( + self, + eula=None, # type: models.Eula + authorization=None, # type: str + x_request_id=None, # type: str + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.EulaResponse + """ + Modifies the signature on the End User Agreement. + + Args: + + eula (Eula, required): + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + eula=eula, + authorization=authorization, + x_request_id=x_request_id, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._arrays_api.api226_arrays_eula_patch_with_http_info + return self._call_api(endpoint, kwargs) + + def delete_arrays_factory_reset_token( + self, + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """ + Deletes an existing token that could be used to perform a factory reset on the + array. + + Args: + + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._arrays_api.api226_arrays_factory_reset_token_delete_with_http_info + return self._call_api(endpoint, kwargs) + + def get_arrays_factory_reset_token( + self, + authorization=None, # type: str + x_request_id=None, # type: str + filter=None, # type: str + limit=None, # type: int + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.ArrayFactoryResetTokenGetResponse + """ + Displays a list of tokens used to perform a factory reset on the array. + + Args: + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + filter=filter, + limit=limit, + offset=offset, + sort=sort, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._arrays_api.api226_arrays_factory_reset_token_get_with_http_info + return self._call_api(endpoint, kwargs) + + def post_arrays_factory_reset_token( + self, + authorization=None, # type: str + x_request_id=None, # type: str + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.ArrayFactoryResetTokenResponse + """ + Creates a token that can be used to perform a factory reset on the array. + Factory reset tokens can only be created after the array has been prepared for + reset (e.g., all volumes and snapshots must first be eradicated). After a token + has been created, operations that would take the array out of the prepared state + are disabled (e.g., creating volumes) until all tokens have been deleted. + + Args: + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._arrays_api.api226_arrays_factory_reset_token_post_with_http_info + return self._call_api(endpoint, kwargs) + + def get_arrays( + self, + authorization=None, # type: str + x_request_id=None, # type: str + filter=None, # type: str + limit=None, # type: int + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.ArrayGetResponse + """ + Displays general array properties including the array name, login banner, idle + timeout for management sessions, and NTP servers. + + Args: + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + filter=filter, + limit=limit, + offset=offset, + sort=sort, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._arrays_api.api226_arrays_get_with_http_info + return self._call_api(endpoint, kwargs) + + def get_arrays_ntp_test( + self, + authorization=None, # type: str + x_request_id=None, # type: str + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.TestResultGetResponse + """ + Displays test results for configured NTP servers. + + Args: + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._arrays_api.api226_arrays_ntp_test_get_with_http_info + return self._call_api(endpoint, kwargs) + + def patch_arrays( + self, + array=None, # type: models.Arrays + authorization=None, # type: str + x_request_id=None, # type: str + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.ArrayResponse + """ + Modifies general array properties such as the array name, login banner, idle + timeout for management sessions, and NTP servers. + + Args: + + array (Arrays, required): + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + array=array, + authorization=authorization, + x_request_id=x_request_id, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._arrays_api.api226_arrays_patch_with_http_info + return self._call_api(endpoint, kwargs) + + def get_arrays_performance_by_link( + self, + authorization=None, # type: str + x_request_id=None, # type: str + filter=None, # type: str + end_time=None, # type: int + resolution=None, # type: int + start_time=None, # type: int + limit=None, # type: int + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.ArrayPerformanceByLinkGetResponse + """ + Displays real-time and historical front-end performance data at the array level + including latency, bandwidth, IOPS, average I/O size, and queue depth. Group + output is shown by link. A link represents a set of arrays that an I/O operation + depends on. For local-only I/Os, this is a local array. For mirrored I/Os, this + is a set of synchronous replication peer arrays. + + Args: + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + end_time (int, optional): + Displays historical performance data for the specified time window, where + `start_time` is the beginning of the time window, and `end_time` is the end of + the time window. The `start_time` and `end_time` parameters are specified in + milliseconds since the UNIX epoch. If `start_time` is not specified, the start + time will default to one resolution before the end time, meaning that the most + recent sample of performance data will be displayed. If `end_time`is not + specified, the end time will default to the current time. Include the + `resolution` parameter to display the performance data at the specified + resolution. If not specified, `resolution` defaults to the lowest valid + resolution. + resolution (int, optional): + The number of milliseconds between samples of historical data. For array-wide + performance metrics (`/arrays/performance` endpoint), valid values are `1000` (1 + second), `30000` (30 seconds), `300000` (5 minutes), `1800000` (30 minutes), + `7200000` (2 hours), `28800000` (8 hours), and `86400000` (24 hours). For + performance metrics on storage objects (`/performance` endpoint), + such as volumes, valid values are `30000` (30 seconds), `300000` (5 minutes), + `1800000` (30 minutes), `7200000` (2 hours), `28800000` (8 hours), and + `86400000` (24 hours). For space metrics, (`/space` endpoint), + valid values are `300000` (5 minutes), `1800000` (30 minutes), `7200000` (2 + hours), `28800000` (8 hours), and `86400000` (24 hours). Include the + `start_time` parameter to display the performance data starting at the specified + start time. If `start_time` is not specified, the start time will default to one + resolution before the end time, meaning that the most recent sample of + performance data will be displayed. Include the `end_time` parameter to display + the performance data until the specified end time. If `end_time`is not + specified, the end time will default to the current time. If the `resolution` + parameter is not specified but either the `start_time` or `end_time` parameter + is, then `resolution` will default to the lowest valid resolution. + start_time (int, optional): + Displays historical performance data for the specified time window, where + `start_time` is the beginning of the time window, and `end_time` is the end of + the time window. The `start_time` and `end_time` parameters are specified in + milliseconds since the UNIX epoch. If `start_time` is not specified, the start + time will default to one resolution before the end time, meaning that the most + recent sample of performance data will be displayed. If `end_time`is not + specified, the end time will default to the current time. Include the + `resolution` parameter to display the performance data at the specified + resolution. If not specified, `resolution` defaults to the lowest valid + resolution. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + filter=filter, + end_time=end_time, + resolution=resolution, + start_time=start_time, + limit=limit, + offset=offset, + sort=sort, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._arrays_api.api226_arrays_performance_by_link_get_with_http_info + return self._call_api(endpoint, kwargs) + + def get_arrays_performance( + self, + authorization=None, # type: str + x_request_id=None, # type: str + filter=None, # type: str + end_time=None, # type: int + resolution=None, # type: int + start_time=None, # type: int + protocol=None, # type: str + protocol_group=None, # type: str + limit=None, # type: int + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.ArrayPerformanceGetResponse + """ + Displays real-time and historical front-end performance data at the array level + including latency, bandwidth, IOPS, average I/O size, and queue depth. + + Args: + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + end_time (int, optional): + Displays historical performance data for the specified time window, where + `start_time` is the beginning of the time window, and `end_time` is the end of + the time window. The `start_time` and `end_time` parameters are specified in + milliseconds since the UNIX epoch. If `start_time` is not specified, the start + time will default to one resolution before the end time, meaning that the most + recent sample of performance data will be displayed. If `end_time`is not + specified, the end time will default to the current time. Include the + `resolution` parameter to display the performance data at the specified + resolution. If not specified, `resolution` defaults to the lowest valid + resolution. + resolution (int, optional): + The number of milliseconds between samples of historical data. For array-wide + performance metrics (`/arrays/performance` endpoint), valid values are `1000` (1 + second), `30000` (30 seconds), `300000` (5 minutes), `1800000` (30 minutes), + `7200000` (2 hours), `28800000` (8 hours), and `86400000` (24 hours). For + performance metrics on storage objects (`/performance` endpoint), + such as volumes, valid values are `30000` (30 seconds), `300000` (5 minutes), + `1800000` (30 minutes), `7200000` (2 hours), `28800000` (8 hours), and + `86400000` (24 hours). For space metrics, (`/space` endpoint), + valid values are `300000` (5 minutes), `1800000` (30 minutes), `7200000` (2 + hours), `28800000` (8 hours), and `86400000` (24 hours). Include the + `start_time` parameter to display the performance data starting at the specified + start time. If `start_time` is not specified, the start time will default to one + resolution before the end time, meaning that the most recent sample of + performance data will be displayed. Include the `end_time` parameter to display + the performance data until the specified end time. If `end_time`is not + specified, the end time will default to the current time. If the `resolution` + parameter is not specified but either the `start_time` or `end_time` parameter + is, then `resolution` will default to the lowest valid resolution. + start_time (int, optional): + Displays historical performance data for the specified time window, where + `start_time` is the beginning of the time window, and `end_time` is the end of + the time window. The `start_time` and `end_time` parameters are specified in + milliseconds since the UNIX epoch. If `start_time` is not specified, the start + time will default to one resolution before the end time, meaning that the most + recent sample of performance data will be displayed. If `end_time`is not + specified, the end time will default to the current time. Include the + `resolution` parameter to display the performance data at the specified + resolution. If not specified, `resolution` defaults to the lowest valid + resolution. + protocol (str, optional): + Protocol type. Valid values are `nfs`, `smb`, and `all`. + protocol_group (str, optional): + Protocol group type. Valid values are `block`, `file`, and `all`. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + filter=filter, + end_time=end_time, + resolution=resolution, + start_time=start_time, + protocol=protocol, + protocol_group=protocol_group, + limit=limit, + offset=offset, + sort=sort, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._arrays_api.api226_arrays_performance_get_with_http_info + return self._call_api(endpoint, kwargs) + + def get_arrays_space( + self, + authorization=None, # type: str + x_request_id=None, # type: str + filter=None, # type: str + end_time=None, # type: int + resolution=None, # type: int + start_time=None, # type: int + limit=None, # type: int + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.ArraySpaceGetResponse + """ + Displays real-time and historical array space information including unique + volume and snapshot space, shared space, data reduction, provisioned capacity, + usable capacity, and parity. + + Args: + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + end_time (int, optional): + Displays historical performance data for the specified time window, where + `start_time` is the beginning of the time window, and `end_time` is the end of + the time window. The `start_time` and `end_time` parameters are specified in + milliseconds since the UNIX epoch. If `start_time` is not specified, the start + time will default to one resolution before the end time, meaning that the most + recent sample of performance data will be displayed. If `end_time`is not + specified, the end time will default to the current time. Include the + `resolution` parameter to display the performance data at the specified + resolution. If not specified, `resolution` defaults to the lowest valid + resolution. + resolution (int, optional): + The number of milliseconds between samples of historical data. For array-wide + performance metrics (`/arrays/performance` endpoint), valid values are `1000` (1 + second), `30000` (30 seconds), `300000` (5 minutes), `1800000` (30 minutes), + `7200000` (2 hours), `28800000` (8 hours), and `86400000` (24 hours). For + performance metrics on storage objects (`/performance` endpoint), + such as volumes, valid values are `30000` (30 seconds), `300000` (5 minutes), + `1800000` (30 minutes), `7200000` (2 hours), `28800000` (8 hours), and + `86400000` (24 hours). For space metrics, (`/space` endpoint), + valid values are `300000` (5 minutes), `1800000` (30 minutes), `7200000` (2 + hours), `28800000` (8 hours), and `86400000` (24 hours). Include the + `start_time` parameter to display the performance data starting at the specified + start time. If `start_time` is not specified, the start time will default to one + resolution before the end time, meaning that the most recent sample of + performance data will be displayed. Include the `end_time` parameter to display + the performance data until the specified end time. If `end_time`is not + specified, the end time will default to the current time. If the `resolution` + parameter is not specified but either the `start_time` or `end_time` parameter + is, then `resolution` will default to the lowest valid resolution. + start_time (int, optional): + Displays historical performance data for the specified time window, where + `start_time` is the beginning of the time window, and `end_time` is the end of + the time window. The `start_time` and `end_time` parameters are specified in + milliseconds since the UNIX epoch. If `start_time` is not specified, the start + time will default to one resolution before the end time, meaning that the most + recent sample of performance data will be displayed. If `end_time`is not + specified, the end time will default to the current time. Include the + `resolution` parameter to display the performance data at the specified + resolution. If not specified, `resolution` defaults to the lowest valid + resolution. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + filter=filter, + end_time=end_time, + resolution=resolution, + start_time=start_time, + limit=limit, + offset=offset, + sort=sort, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._arrays_api.api226_arrays_space_get_with_http_info + return self._call_api(endpoint, kwargs) + + def get_audits( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + filter=None, # type: str + ids=None, # type: List[str] + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.AuditGetResponse + """ + Displays a list of audits. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides ids and names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + continuation_token (str, optional): + An opaque token to iterate over a collection of resources. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + ids (list[str], optional): + Performs the operation on the unique resource IDs specified. Enter multiple + resource IDs in comma-separated format. The `ids` or `names` parameter is + required, but they cannot be set together. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + continuation_token=continuation_token, + filter=filter, + ids=ids, + limit=limit, + names=names, + offset=offset, + sort=sort, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._audits_api.api226_audits_get_with_http_info + _process_references(references, ['ids', 'names'], kwargs) + return self._call_api(endpoint, kwargs) + + def post_certificates_certificate_signing_requests( + self, + certificate=None, # type: models.CertificateSigningRequestPost + authorization=None, # type: str + x_request_id=None, # type: str + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.CertificateSigningRequestResponse + """ + Creates a certificate signing request based on the certificate type and + parameters. + + Args: + + certificate (CertificateSigningRequestPost, required): + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + certificate=certificate, + authorization=authorization, + x_request_id=x_request_id, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._certificates_api.api226_certificates_certificate_signing_requests_post_with_http_info + return self._call_api(endpoint, kwargs) + + def delete_certificates( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """ + Deletes a specific certificate object. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + names=names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._certificates_api.api226_certificates_delete_with_http_info + _process_references(references, ['names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_certificates( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + filter=None, # type: str + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.CertificateGetResponse + """ + Displays certificate attributes. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + continuation_token (str, optional): + An opaque token to iterate over a collection of resources. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + continuation_token=continuation_token, + filter=filter, + limit=limit, + names=names, + offset=offset, + sort=sort, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._certificates_api.api226_certificates_get_with_http_info + _process_references(references, ['names'], kwargs) + return self._call_api(endpoint, kwargs) + + def patch_certificates( + self, + references=None, # type: List[models.ReferenceType] + certificate=None, # type: models.CertificatePost + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + generate_new_key=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.CertificateResponse + """ + Modifies certificate attributes. When you modify the attributes of a self-signed + certificate, Purity//FA replaces the existing certificate with a new + certificate, which is generated with the specified attributes. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names keyword arguments. + + certificate (CertificatePost, required): + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + generate_new_key (bool, optional): + If set to `true`, a new private key is generated when generating a new + certificate with the specified attributes. This may not be set to `true` when + importing a certificate and private key, and may not be set to `false` when + generating a new self-signed certificate to replace a certificate that was + imported. Default setting is `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + certificate=certificate, + authorization=authorization, + x_request_id=x_request_id, + names=names, + generate_new_key=generate_new_key, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._certificates_api.api226_certificates_patch_with_http_info + _process_references(references, ['names'], kwargs) + return self._call_api(endpoint, kwargs) + + def post_certificates( + self, + references=None, # type: List[models.ReferenceType] + certificate=None, # type: models.CertificatePost + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.CertificateResponse + """ + Creates a certificate object and specifies the valid time period and + organization details of the certificate. A certificate can be imported or + manually configured. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names keyword arguments. + + certificate (CertificatePost, required): + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + certificate=certificate, + authorization=authorization, + x_request_id=x_request_id, + names=names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._certificates_api.api226_certificates_post_with_http_info + _process_references(references, ['names'], kwargs) + return self._call_api(endpoint, kwargs) + + def delete_connections( + self, + host_groups=None, # type: List[models.ReferenceType] + hosts=None, # type: List[models.ReferenceType] + volumes=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + host_group_names=None, # type: List[str] + host_names=None, # type: List[str] + volume_names=None, # type: List[str] + volume_ids=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """ + Deletes the connection between a volume and its associated host or host group. + The `volume_names` or `volume_ids` and `host_names` or `host_group_names` query + parameters are required. + + Args: + host_groups (list[FixedReference], optional): + A list of host_groups to query for. Overrides host_group_names keyword arguments. + hosts (list[FixedReference], optional): + A list of hosts to query for. Overrides host_names keyword arguments. + volumes (list[FixedReference], optional): + A list of volumes to query for. Overrides volume_names and volume_ids keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + host_group_names (list[str], optional): + Performs the operation on the host group specified. Enter multiple names in + comma-separated format. A request cannot include a mix of multiple objects with + multiple names. For example, a request cannot include a mix of multiple host + group names and volume names; instead, at least one of the objects (e.g., + `host_group_names`) must be set to only one name (e.g., `hgroup01`). + host_names (list[str], optional): + Performs the operation on the hosts specified. Enter multiple names in comma- + separated format. For example, `host01,host02`. A request cannot include a mix + of multiple objects with multiple names. For example, a request cannot include a + mix of multiple host names and volume names; instead, at least one of the + objects (e.g., `host_names`) must be set to only one name (e.g., `host01`). + volume_names (list[str], optional): + Performs the operation on the volume specified. Enter multiple names in comma- + separated format. For example, `vol01,vol02`. A request cannot include a mix of + multiple objects with multiple names. For example, a request cannot include a + mix of multiple volume names and host names; instead, at least one of the + objects (e.g., `volume_names`) must be set to only one name (e.g., `vol01`). + volume_ids (list[str], optional): + Performs the operation on the specified volume. Enter multiple ids in comma- + separated format. For example, `vol01id,vol02id`. A request cannot include a mix + of multiple objects with multiple IDs. For example, a request cannot include a + mix of multiple volume IDs and host names; instead, at least one of the objects + (e.g., `volume_ids`) must be set to only one name (e.g., `vol01id`). Only one of + the two between `volume_names` and `volume_ids` may be used at a time. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + host_group_names=host_group_names, + host_names=host_names, + volume_names=volume_names, + volume_ids=volume_ids, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._connections_api.api226_connections_delete_with_http_info + _process_references(host_groups, ['host_group_names'], kwargs) + _process_references(hosts, ['host_names'], kwargs) + _process_references(volumes, ['volume_names', 'volume_ids'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_connections( + self, + host_groups=None, # type: List[models.ReferenceType] + hosts=None, # type: List[models.ReferenceType] + protocol_endpoints=None, # type: List[models.ReferenceType] + volumes=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + filter=None, # type: str + host_group_names=None, # type: List[str] + host_names=None, # type: List[str] + limit=None, # type: int + offset=None, # type: int + protocol_endpoint_ids=None, # type: List[str] + protocol_endpoint_names=None, # type: List[str] + sort=None, # type: List[str] + total_item_count=None, # type: bool + volume_names=None, # type: List[str] + volume_ids=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.ConnectionGetResponse + """ + Displays a list of connections between a volume and its hosts and host groups, + and the logical unit numbers (LUNs) used by the associated hosts to address + these volumes. + + Args: + host_groups (list[FixedReference], optional): + A list of host_groups to query for. Overrides host_group_names keyword arguments. + hosts (list[FixedReference], optional): + A list of hosts to query for. Overrides host_names keyword arguments. + protocol_endpoints (list[FixedReference], optional): + A list of protocol_endpoints to query for. Overrides protocol_endpoint_ids and protocol_endpoint_names keyword arguments. + volumes (list[FixedReference], optional): + A list of volumes to query for. Overrides volume_names and volume_ids keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + continuation_token (str, optional): + An opaque token to iterate over a collection of resources. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + host_group_names (list[str], optional): + Performs the operation on the host group specified. Enter multiple names in + comma-separated format. A request cannot include a mix of multiple objects with + multiple names. For example, a request cannot include a mix of multiple host + group names and volume names; instead, at least one of the objects (e.g., + `host_group_names`) must be set to only one name (e.g., `hgroup01`). + host_names (list[str], optional): + Performs the operation on the hosts specified. Enter multiple names in comma- + separated format. For example, `host01,host02`. A request cannot include a mix + of multiple objects with multiple names. For example, a request cannot include a + mix of multiple host names and volume names; instead, at least one of the + objects (e.g., `host_names`) must be set to only one name (e.g., `host01`). + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + protocol_endpoint_ids (list[str], optional): + Performs the operation on the protocol endpoints specified. Enter multiple IDs + in comma-separated format. For example, `peid01,peid02`. A request cannot + include a mix of multiple objects with multiple IDs. For example, a request + cannot include a mix of multiple protocol endpoint IDs and host names. Instead, + at least one of the objects (e.g., `protocol_endpoint_ids`) must be set to one + ID (e.g., `peid01`). + protocol_endpoint_names (list[str], optional): + Performs the operation on the protocol endpoints specified. Enter multiple names + in comma-separated format. For example, `pe01,pe02`. A request cannot include a + mix of multiple objects with multiple names. For example, a request cannot + include a mix of multiple protocol endpoint names and host names; instead, at + least one of the objects (e.g., `protocol_endpoint_names`) must be set to one + name (e.g., `pe01`). + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + volume_names (list[str], optional): + Performs the operation on the volume specified. Enter multiple names in comma- + separated format. For example, `vol01,vol02`. A request cannot include a mix of + multiple objects with multiple names. For example, a request cannot include a + mix of multiple volume names and host names; instead, at least one of the + objects (e.g., `volume_names`) must be set to only one name (e.g., `vol01`). + volume_ids (list[str], optional): + Performs the operation on the specified volume. Enter multiple ids in comma- + separated format. For example, `vol01id,vol02id`. A request cannot include a mix + of multiple objects with multiple IDs. For example, a request cannot include a + mix of multiple volume IDs and host names; instead, at least one of the objects + (e.g., `volume_ids`) must be set to only one name (e.g., `vol01id`). Only one of + the two between `volume_names` and `volume_ids` may be used at a time. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + continuation_token=continuation_token, + filter=filter, + host_group_names=host_group_names, + host_names=host_names, + limit=limit, + offset=offset, + protocol_endpoint_ids=protocol_endpoint_ids, + protocol_endpoint_names=protocol_endpoint_names, + sort=sort, + total_item_count=total_item_count, + volume_names=volume_names, + volume_ids=volume_ids, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._connections_api.api226_connections_get_with_http_info + _process_references(host_groups, ['host_group_names'], kwargs) + _process_references(hosts, ['host_names'], kwargs) + _process_references(protocol_endpoints, ['protocol_endpoint_ids', 'protocol_endpoint_names'], kwargs) + _process_references(volumes, ['volume_names', 'volume_ids'], kwargs) + return self._call_api(endpoint, kwargs) + + def post_connections( + self, + host_groups=None, # type: List[models.ReferenceType] + hosts=None, # type: List[models.ReferenceType] + volumes=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + host_group_names=None, # type: List[str] + host_names=None, # type: List[str] + volume_names=None, # type: List[str] + volume_ids=None, # type: List[str] + connection=None, # type: models.ConnectionPost + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.ConnectionResponse + """ + Creates a connection between a volume and a host or host group. The + `volume_names` or `volume_ids` and `host_names` or `host_group_names` query + parameters are required. + + Args: + host_groups (list[FixedReference], optional): + A list of host_groups to query for. Overrides host_group_names keyword arguments. + hosts (list[FixedReference], optional): + A list of hosts to query for. Overrides host_names keyword arguments. + volumes (list[FixedReference], optional): + A list of volumes to query for. Overrides volume_names and volume_ids keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + host_group_names (list[str], optional): + Performs the operation on the host group specified. Enter multiple names in + comma-separated format. A request cannot include a mix of multiple objects with + multiple names. For example, a request cannot include a mix of multiple host + group names and volume names; instead, at least one of the objects (e.g., + `host_group_names`) must be set to only one name (e.g., `hgroup01`). + host_names (list[str], optional): + Performs the operation on the hosts specified. Enter multiple names in comma- + separated format. For example, `host01,host02`. A request cannot include a mix + of multiple objects with multiple names. For example, a request cannot include a + mix of multiple host names and volume names; instead, at least one of the + objects (e.g., `host_names`) must be set to only one name (e.g., `host01`). + volume_names (list[str], optional): + Performs the operation on the volume specified. Enter multiple names in comma- + separated format. For example, `vol01,vol02`. A request cannot include a mix of + multiple objects with multiple names. For example, a request cannot include a + mix of multiple volume names and host names; instead, at least one of the + objects (e.g., `volume_names`) must be set to only one name (e.g., `vol01`). + volume_ids (list[str], optional): + Performs the operation on the specified volume. Enter multiple ids in comma- + separated format. For example, `vol01id,vol02id`. A request cannot include a mix + of multiple objects with multiple IDs. For example, a request cannot include a + mix of multiple volume IDs and host names; instead, at least one of the objects + (e.g., `volume_ids`) must be set to only one name (e.g., `vol01id`). Only one of + the two between `volume_names` and `volume_ids` may be used at a time. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + host_group_names=host_group_names, + host_names=host_names, + volume_names=volume_names, + volume_ids=volume_ids, + connection=connection, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._connections_api.api226_connections_post_with_http_info + _process_references(host_groups, ['host_group_names'], kwargs) + _process_references(hosts, ['host_names'], kwargs) + _process_references(volumes, ['volume_names', 'volume_ids'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_container_default_protections( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + ids=None, # type: List[str] + names=None, # type: List[str] + continuation_token=None, # type: str + destroyed=None, # type: bool + filter=None, # type: str + limit=None, # type: int + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.ContainerDefaultProtectionGetResponse + """ + Displays a list of containers with its default protections. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides ids and names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + ids (list[str], optional): + Performs the operation on the container ID specified. Enter multiple source IDs + in comma-separated format. The `ids` or `names` parameter is required, but they + cannot be set together. Specifying `ids` or `names` with no value will perform + the operation on local array. + names (list[str], optional): + Performs the operation on the unique container name specified. Enter multiple + names in comma-separated format. The `ids` or `names` parameter is required, but + they cannot be set together. Specifying `ids` or `names` with no value will + perform the operation on local array. + continuation_token (str, optional): + An opaque token to iterate over a collection of resources. + destroyed (bool, optional): + If set to `true`, lists only destroyed objects that are in the eradication + pending state. If set to `false`, lists only objects that are not destroyed. For + destroyed objects, the time remaining is displayed in milliseconds. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + ids=ids, + names=names, + continuation_token=continuation_token, + destroyed=destroyed, + filter=filter, + limit=limit, + offset=offset, + sort=sort, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._container_default_protections_api.api226_container_default_protections_get_with_http_info + _process_references(references, ['ids', 'names'], kwargs) + return self._call_api(endpoint, kwargs) + + def patch_container_default_protections( + self, + references=None, # type: List[models.ReferenceType] + container_default_protection=None, # type: models.ContainerDefaultProtection + authorization=None, # type: str + x_request_id=None, # type: str + ids=None, # type: List[str] + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.ContainerDefaultProtectionResponse + """ + Modifies a container's default protections. To modify, set `default_protections` + to the new list. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides ids and names keyword arguments. + + container_default_protection (ContainerDefaultProtection, required): + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + ids (list[str], optional): + Performs the operation on the container ID specified. Enter multiple source IDs + in comma-separated format. The `ids` or `names` parameter is required, but they + cannot be set together. Specifying `ids` or `names` with no value will perform + the operation on local array. + names (list[str], optional): + Performs the operation on the unique container name specified. Enter multiple + names in comma-separated format. The `ids` or `names` parameter is required, but + they cannot be set together. Specifying `ids` or `names` with no value will + perform the operation on local array. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + container_default_protection=container_default_protection, + authorization=authorization, + x_request_id=x_request_id, + ids=ids, + names=names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._container_default_protections_api.api226_container_default_protections_patch_with_http_info + _process_references(references, ['ids', 'names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_controllers( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + filter=None, # type: str + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.ControllerGetResponse + """ + Displays the name, mode, FlashArray model, Purity//FA software version, and + status of each controller in the array. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + continuation_token (str, optional): + An opaque token to iterate over a collection of resources. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + continuation_token=continuation_token, + filter=filter, + limit=limit, + names=names, + offset=offset, + sort=sort, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._controllers_api.api226_controllers_get_with_http_info + _process_references(references, ['names'], kwargs) + return self._call_api(endpoint, kwargs) + + def delete_directories( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + ids=None, # type: List[str] + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """ + Deletes one or more managed directories. To be deleted, a managed directory must + be empty and not attached to any enabled export policies. Deleted managed + directories cannot be recovered. The `ids` or `names` parameter is required, but + cannot be set together. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides ids and names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + ids (list[str], optional): + Performs the operation on the unique resource IDs specified. Enter multiple + resource IDs in comma-separated format. The `ids` or `names` parameter is + required, but they cannot be set together. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + ids=ids, + names=names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._directories_api.api226_directories_delete_with_http_info + _process_references(references, ['ids', 'names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_directories( + self, + file_systems=None, # type: List[models.ReferenceType] + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + destroyed=None, # type: bool + file_system_ids=None, # type: List[str] + file_system_names=None, # type: List[str] + filter=None, # type: str + ids=None, # type: List[str] + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + total_only=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.DirectoryGetResponse + """ + Displays a list of directories, including those pending eradication. + + Args: + file_systems (list[FixedReference], optional): + A list of file_systems to query for. Overrides file_system_ids and file_system_names keyword arguments. + references (list[FixedReference], optional): + A list of references to query for. Overrides ids and names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + continuation_token (str, optional): + An opaque token to iterate over a collection of resources. + destroyed (bool, optional): + If set to `true`, lists only destroyed objects that are in the eradication + pending state. If set to `false`, lists only objects that are not destroyed. For + destroyed objects, the time remaining is displayed in milliseconds. + file_system_ids (list[str], optional): + Performs the operation on the file system ID specified. Enter multiple file + system IDs in comma-separated format. The `file_system_ids` or + `file_system_names` parameter is required, but they cannot be set together. + file_system_names (list[str], optional): + Performs the operation on the file system name specified. Enter multiple file + system names in comma-separated format. For example, + `filesystem01,filesystem02`. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + ids (list[str], optional): + Performs the operation on the unique resource IDs specified. Enter multiple + resource IDs in comma-separated format. The `ids` or `names` parameter is + required, but they cannot be set together. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + total_only (bool, optional): + If set to `true`, returns the aggregate value of all items after filtering. + Where it makes more sense, the average value is displayed instead. The values + are displayed for each name where meaningful. If `total_only=true`, the `items` + list will be empty. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + continuation_token=continuation_token, + destroyed=destroyed, + file_system_ids=file_system_ids, + file_system_names=file_system_names, + filter=filter, + ids=ids, + limit=limit, + names=names, + offset=offset, + sort=sort, + total_item_count=total_item_count, + total_only=total_only, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._directories_api.api226_directories_get_with_http_info + _process_references(file_systems, ['file_system_ids', 'file_system_names'], kwargs) + _process_references(references, ['ids', 'names'], kwargs) + return self._call_api(endpoint, kwargs) + + def post_directories_locks_nlm_reclamations( + self, + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.DirectoryLockNlmReclamationResponse + """ + NLM reclamation is a system-wide operation, affecting all clients, and so only + one may be in progress at a time. Attempting to initiate reclamation while one + is in progress will result in an error. When NLM reclamation is initiated, all + NLM locks are deleted and client applications are notified that they can + reacquire their locks within a grace period. + + Args: + + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._directories_api.api226_directories_locks_nlm_reclamations_post_with_http_info + return self._call_api(endpoint, kwargs) + + def patch_directories( + self, + references=None, # type: List[models.ReferenceType] + directory=None, # type: models.DirectoryPatch + authorization=None, # type: str + x_request_id=None, # type: str + ids=None, # type: List[str] + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.DirectoryResponse + """ + Modifies a managed directory. To rename a managed directory, set `name` to the + new name. The `ids` or `names` parameter is required, but cannot be set + together. The `name` or `directory_name` parameter is required. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides ids and names keyword arguments. + + directory (DirectoryPatch, required): + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + ids (list[str], optional): + Performs the operation on the unique resource IDs specified. Enter multiple + resource IDs in comma-separated format. The `ids` or `names` parameter is + required, but they cannot be set together. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + directory=directory, + authorization=authorization, + x_request_id=x_request_id, + ids=ids, + names=names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._directories_api.api226_directories_patch_with_http_info + _process_references(references, ['ids', 'names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_directories_performance( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + destroyed=None, # type: bool + filter=None, # type: str + end_time=None, # type: int + resolution=None, # type: int + start_time=None, # type: int + ids=None, # type: List[str] + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + protocol=None, # type: str + protocol_group=None, # type: str + sort=None, # type: List[str] + total_item_count=None, # type: bool + total_only=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.DirectoryPerformanceGetResponse + """ + Displays real-time and historical performance data, real-time latency data, and + average I/O sizes for each directory and as a total of all directories across + the entire array. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides ids and names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + destroyed (bool, optional): + If set to `true`, lists only destroyed objects that are in the eradication + pending state. If set to `false`, lists only objects that are not destroyed. For + destroyed objects, the time remaining is displayed in milliseconds. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + end_time (int, optional): + Displays historical performance data for the specified time window, where + `start_time` is the beginning of the time window, and `end_time` is the end of + the time window. The `start_time` and `end_time` parameters are specified in + milliseconds since the UNIX epoch. If `start_time` is not specified, the start + time will default to one resolution before the end time, meaning that the most + recent sample of performance data will be displayed. If `end_time`is not + specified, the end time will default to the current time. Include the + `resolution` parameter to display the performance data at the specified + resolution. If not specified, `resolution` defaults to the lowest valid + resolution. + resolution (int, optional): + The number of milliseconds between samples of historical data. For array-wide + performance metrics (`/arrays/performance` endpoint), valid values are `1000` (1 + second), `30000` (30 seconds), `300000` (5 minutes), `1800000` (30 minutes), + `7200000` (2 hours), `28800000` (8 hours), and `86400000` (24 hours). For + performance metrics on storage objects (`/performance` endpoint), + such as volumes, valid values are `30000` (30 seconds), `300000` (5 minutes), + `1800000` (30 minutes), `7200000` (2 hours), `28800000` (8 hours), and + `86400000` (24 hours). For space metrics, (`/space` endpoint), + valid values are `300000` (5 minutes), `1800000` (30 minutes), `7200000` (2 + hours), `28800000` (8 hours), and `86400000` (24 hours). Include the + `start_time` parameter to display the performance data starting at the specified + start time. If `start_time` is not specified, the start time will default to one + resolution before the end time, meaning that the most recent sample of + performance data will be displayed. Include the `end_time` parameter to display + the performance data until the specified end time. If `end_time`is not + specified, the end time will default to the current time. If the `resolution` + parameter is not specified but either the `start_time` or `end_time` parameter + is, then `resolution` will default to the lowest valid resolution. + start_time (int, optional): + Displays historical performance data for the specified time window, where + `start_time` is the beginning of the time window, and `end_time` is the end of + the time window. The `start_time` and `end_time` parameters are specified in + milliseconds since the UNIX epoch. If `start_time` is not specified, the start + time will default to one resolution before the end time, meaning that the most + recent sample of performance data will be displayed. If `end_time`is not + specified, the end time will default to the current time. Include the + `resolution` parameter to display the performance data at the specified + resolution. If not specified, `resolution` defaults to the lowest valid + resolution. + ids (list[str], optional): + Performs the operation on the unique resource IDs specified. Enter multiple + resource IDs in comma-separated format. The `ids` or `names` parameter is + required, but they cannot be set together. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + protocol (str, optional): + Protocol type. Valid values are `nfs`, `smb`, and `all`. + protocol_group (str, optional): + Protocol group type. Valid values are `block`, `file`, and `all`. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + total_only (bool, optional): + If set to `true`, returns the aggregate value of all items after filtering. + Where it makes more sense, the average value is displayed instead. The values + are displayed for each name where meaningful. If `total_only=true`, the `items` + list will be empty. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + destroyed=destroyed, + filter=filter, + end_time=end_time, + resolution=resolution, + start_time=start_time, + ids=ids, + limit=limit, + names=names, + offset=offset, + protocol=protocol, + protocol_group=protocol_group, + sort=sort, + total_item_count=total_item_count, + total_only=total_only, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._directories_api.api226_directories_performance_get_with_http_info + _process_references(references, ['ids', 'names'], kwargs) + return self._call_api(endpoint, kwargs) + + def delete_directories_policies_autodir( + self, + members=None, # type: List[models.ReferenceType] + policies=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + member_ids=None, # type: List[str] + member_names=None, # type: List[str] + policy_ids=None, # type: List[str] + policy_names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """ + Deletes a membership between a directory with one or more auto managed directory + policies. The `policy_ids` or `policy_names` parameter is required, but they + cannot be set together. The `member_ids` or `member_names` parameter is + required, but they cannot be set together. + + Args: + members (list[FixedReference], optional): + A list of members to query for. Overrides member_ids and member_names keyword arguments. + policies (list[FixedReference], optional): + A list of policies to query for. Overrides policy_ids and policy_names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + member_ids (list[str], optional): + Performs the operation on the unique member IDs specified. Enter multiple member + IDs in comma-separated format. The `member_ids` or `member_names` parameter is + required, but they cannot be set together. + member_names (list[str], optional): + Performs the operation on the unique member name specified. Examples of members + include volumes, hosts, host groups, and directories. Enter multiple names in + comma-separated format. For example, `vol01,vol02`. + policy_ids (list[str], optional): + Performs the operation on the unique policy IDs specified. Enter multiple policy + IDs in comma-separated format. The `policy_ids` or `policy_names` parameter is + required, but they cannot be set together. + policy_names (list[str], optional): + Performs the operation on the policy names specified. Enter multiple policy + names in comma-separated format. For example, `name01,name02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + member_ids=member_ids, + member_names=member_names, + policy_ids=policy_ids, + policy_names=policy_names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._directories_api.api226_directories_policies_autodir_delete_with_http_info + _process_references(members, ['member_ids', 'member_names'], kwargs) + _process_references(policies, ['policy_ids', 'policy_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_directories_policies_autodir( + self, + members=None, # type: List[models.ReferenceType] + policies=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + destroyed=None, # type: bool + filter=None, # type: str + limit=None, # type: int + member_ids=None, # type: List[str] + member_names=None, # type: List[str] + policy_ids=None, # type: List[str] + policy_names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PolicyMemberGetResponse + """ + Displays a list of auto managed directory policies that are attached to + directories. + + Args: + members (list[FixedReference], optional): + A list of members to query for. Overrides member_ids and member_names keyword arguments. + policies (list[FixedReference], optional): + A list of policies to query for. Overrides policy_ids and policy_names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + continuation_token (str, optional): + An opaque token to iterate over a collection of resources. + destroyed (bool, optional): + If set to `true`, lists only destroyed objects that are in the eradication + pending state. If set to `false`, lists only objects that are not destroyed. For + destroyed objects, the time remaining is displayed in milliseconds. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + member_ids (list[str], optional): + Performs the operation on the unique member IDs specified. Enter multiple member + IDs in comma-separated format. The `member_ids` or `member_names` parameter is + required, but they cannot be set together. + member_names (list[str], optional): + Performs the operation on the unique member name specified. Examples of members + include volumes, hosts, host groups, and directories. Enter multiple names in + comma-separated format. For example, `vol01,vol02`. + policy_ids (list[str], optional): + Performs the operation on the unique policy IDs specified. Enter multiple policy + IDs in comma-separated format. The `policy_ids` or `policy_names` parameter is + required, but they cannot be set together. + policy_names (list[str], optional): + Performs the operation on the policy names specified. Enter multiple policy + names in comma-separated format. For example, `name01,name02`. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + continuation_token=continuation_token, + destroyed=destroyed, + filter=filter, + limit=limit, + member_ids=member_ids, + member_names=member_names, + policy_ids=policy_ids, + policy_names=policy_names, + offset=offset, + sort=sort, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._directories_api.api226_directories_policies_autodir_get_with_http_info + _process_references(members, ['member_ids', 'member_names'], kwargs) + _process_references(policies, ['policy_ids', 'policy_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def post_directories_policies_autodir( + self, + members=None, # type: List[models.ReferenceType] + policies=None, # type: models.DirectoryPolicyPost + authorization=None, # type: str + x_request_id=None, # type: str + member_ids=None, # type: List[str] + member_names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PolicyMemberResponse + """ + Creates a membership between a directory with one or more auto managed directory + policies. The `member_ids` or `member_names` parameter is required, but they + cannot be set together. + + Args: + members (list[FixedReference], optional): + A list of members to query for. Overrides member_ids and member_names keyword arguments. + + policies (DirectoryPolicyPost, required): + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + member_ids (list[str], optional): + Performs the operation on the unique member IDs specified. Enter multiple member + IDs in comma-separated format. The `member_ids` or `member_names` parameter is + required, but they cannot be set together. + member_names (list[str], optional): + Performs the operation on the unique member name specified. Examples of members + include volumes, hosts, host groups, and directories. Enter multiple names in + comma-separated format. For example, `vol01,vol02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + policies=policies, + authorization=authorization, + x_request_id=x_request_id, + member_ids=member_ids, + member_names=member_names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._directories_api.api226_directories_policies_autodir_post_with_http_info + _process_references(members, ['member_ids', 'member_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_directories_policies( + self, + members=None, # type: List[models.ReferenceType] + policies=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + destroyed=None, # type: bool + filter=None, # type: str + limit=None, # type: int + member_ids=None, # type: List[str] + member_names=None, # type: List[str] + policy_ids=None, # type: List[str] + policy_names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PolicyMemberGetResponse + """ + Displays a list of policies that are attached to directories. + + Args: + members (list[FixedReference], optional): + A list of members to query for. Overrides member_ids and member_names keyword arguments. + policies (list[FixedReference], optional): + A list of policies to query for. Overrides policy_ids and policy_names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + continuation_token (str, optional): + An opaque token to iterate over a collection of resources. + destroyed (bool, optional): + If set to `true`, lists only destroyed objects that are in the eradication + pending state. If set to `false`, lists only objects that are not destroyed. For + destroyed objects, the time remaining is displayed in milliseconds. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + member_ids (list[str], optional): + Performs the operation on the unique member IDs specified. Enter multiple member + IDs in comma-separated format. The `member_ids` or `member_names` parameter is + required, but they cannot be set together. + member_names (list[str], optional): + Performs the operation on the unique member name specified. Examples of members + include volumes, hosts, host groups, and directories. Enter multiple names in + comma-separated format. For example, `vol01,vol02`. + policy_ids (list[str], optional): + Performs the operation on the unique policy IDs specified. Enter multiple policy + IDs in comma-separated format. The `policy_ids` or `policy_names` parameter is + required, but they cannot be set together. + policy_names (list[str], optional): + Performs the operation on the policy names specified. Enter multiple policy + names in comma-separated format. For example, `name01,name02`. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + continuation_token=continuation_token, + destroyed=destroyed, + filter=filter, + limit=limit, + member_ids=member_ids, + member_names=member_names, + policy_ids=policy_ids, + policy_names=policy_names, + offset=offset, + sort=sort, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._directories_api.api226_directories_policies_get_with_http_info + _process_references(members, ['member_ids', 'member_names'], kwargs) + _process_references(policies, ['policy_ids', 'policy_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def delete_directories_policies_nfs( + self, + members=None, # type: List[models.ReferenceType] + policies=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + member_ids=None, # type: List[str] + member_names=None, # type: List[str] + policy_ids=None, # type: List[str] + policy_names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """ + Deletes a membership between a directory and one or more NFS policies. The + `policy_ids` or `policy_names` parameter is required, but cannot be set + together. The `member_ids` or `member_names` parameter is required, but cannot + be set together. + + Args: + members (list[FixedReference], optional): + A list of members to query for. Overrides member_ids and member_names keyword arguments. + policies (list[FixedReference], optional): + A list of policies to query for. Overrides policy_ids and policy_names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + member_ids (list[str], optional): + Performs the operation on the unique member IDs specified. Enter multiple member + IDs in comma-separated format. The `member_ids` or `member_names` parameter is + required, but they cannot be set together. + member_names (list[str], optional): + Performs the operation on the unique member name specified. Examples of members + include volumes, hosts, host groups, and directories. Enter multiple names in + comma-separated format. For example, `vol01,vol02`. + policy_ids (list[str], optional): + Performs the operation on the unique policy IDs specified. Enter multiple policy + IDs in comma-separated format. The `policy_ids` or `policy_names` parameter is + required, but they cannot be set together. + policy_names (list[str], optional): + Performs the operation on the policy names specified. Enter multiple policy + names in comma-separated format. For example, `name01,name02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + member_ids=member_ids, + member_names=member_names, + policy_ids=policy_ids, + policy_names=policy_names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._directories_api.api226_directories_policies_nfs_delete_with_http_info + _process_references(members, ['member_ids', 'member_names'], kwargs) + _process_references(policies, ['policy_ids', 'policy_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_directories_policies_nfs( + self, + members=None, # type: List[models.ReferenceType] + policies=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + destroyed=None, # type: bool + filter=None, # type: str + limit=None, # type: int + member_ids=None, # type: List[str] + member_names=None, # type: List[str] + policy_ids=None, # type: List[str] + policy_names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PolicyMemberExportGetResponse + """ + Displays a list of NFS policies that are attached to directories. + + Args: + members (list[FixedReference], optional): + A list of members to query for. Overrides member_ids and member_names keyword arguments. + policies (list[FixedReference], optional): + A list of policies to query for. Overrides policy_ids and policy_names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + continuation_token (str, optional): + An opaque token to iterate over a collection of resources. + destroyed (bool, optional): + If set to `true`, lists only destroyed objects that are in the eradication + pending state. If set to `false`, lists only objects that are not destroyed. For + destroyed objects, the time remaining is displayed in milliseconds. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + member_ids (list[str], optional): + Performs the operation on the unique member IDs specified. Enter multiple member + IDs in comma-separated format. The `member_ids` or `member_names` parameter is + required, but they cannot be set together. + member_names (list[str], optional): + Performs the operation on the unique member name specified. Examples of members + include volumes, hosts, host groups, and directories. Enter multiple names in + comma-separated format. For example, `vol01,vol02`. + policy_ids (list[str], optional): + Performs the operation on the unique policy IDs specified. Enter multiple policy + IDs in comma-separated format. The `policy_ids` or `policy_names` parameter is + required, but they cannot be set together. + policy_names (list[str], optional): + Performs the operation on the policy names specified. Enter multiple policy + names in comma-separated format. For example, `name01,name02`. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + continuation_token=continuation_token, + destroyed=destroyed, + filter=filter, + limit=limit, + member_ids=member_ids, + member_names=member_names, + policy_ids=policy_ids, + policy_names=policy_names, + offset=offset, + sort=sort, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._directories_api.api226_directories_policies_nfs_get_with_http_info + _process_references(members, ['member_ids', 'member_names'], kwargs) + _process_references(policies, ['policy_ids', 'policy_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def post_directories_policies_nfs( + self, + members=None, # type: List[models.ReferenceType] + policies=None, # type: models.DirectoryPolicyExportPost + authorization=None, # type: str + x_request_id=None, # type: str + member_ids=None, # type: List[str] + member_names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PolicyMemberExportResponse + """ + Creates a membership between a directory and one or more NFS policies. The + `member_ids` or `member_names` parameter is required but cannot be set together. + + Args: + members (list[FixedReference], optional): + A list of members to query for. Overrides member_ids and member_names keyword arguments. + + policies (DirectoryPolicyExportPost, required): + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + member_ids (list[str], optional): + Performs the operation on the unique member IDs specified. Enter multiple member + IDs in comma-separated format. The `member_ids` or `member_names` parameter is + required, but they cannot be set together. + member_names (list[str], optional): + Performs the operation on the unique member name specified. Examples of members + include volumes, hosts, host groups, and directories. Enter multiple names in + comma-separated format. For example, `vol01,vol02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + policies=policies, + authorization=authorization, + x_request_id=x_request_id, + member_ids=member_ids, + member_names=member_names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._directories_api.api226_directories_policies_nfs_post_with_http_info + _process_references(members, ['member_ids', 'member_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def delete_directories_policies_quota( + self, + members=None, # type: List[models.ReferenceType] + policies=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + member_ids=None, # type: List[str] + member_names=None, # type: List[str] + policy_ids=None, # type: List[str] + policy_names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """ + Deletes a membership between a directory and one or more quota policies. The + `policy_ids` or `policy_names` parameter is required, but cannot be set + together. The `member_ids` or `member_names` parameter is required, but cannot + be set together. + + Args: + members (list[FixedReference], optional): + A list of members to query for. Overrides member_ids and member_names keyword arguments. + policies (list[FixedReference], optional): + A list of policies to query for. Overrides policy_ids and policy_names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + member_ids (list[str], optional): + Performs the operation on the unique member IDs specified. Enter multiple member + IDs in comma-separated format. The `member_ids` or `member_names` parameter is + required, but they cannot be set together. + member_names (list[str], optional): + Performs the operation on the unique member name specified. Examples of members + include volumes, hosts, host groups, and directories. Enter multiple names in + comma-separated format. For example, `vol01,vol02`. + policy_ids (list[str], optional): + Performs the operation on the unique policy IDs specified. Enter multiple policy + IDs in comma-separated format. The `policy_ids` or `policy_names` parameter is + required, but they cannot be set together. + policy_names (list[str], optional): + Performs the operation on the policy names specified. Enter multiple policy + names in comma-separated format. For example, `name01,name02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + member_ids=member_ids, + member_names=member_names, + policy_ids=policy_ids, + policy_names=policy_names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._directories_api.api226_directories_policies_quota_delete_with_http_info + _process_references(members, ['member_ids', 'member_names'], kwargs) + _process_references(policies, ['policy_ids', 'policy_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_directories_policies_quota( + self, + members=None, # type: List[models.ReferenceType] + policies=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + destroyed=None, # type: bool + filter=None, # type: str + limit=None, # type: int + member_ids=None, # type: List[str] + member_names=None, # type: List[str] + policy_ids=None, # type: List[str] + policy_names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PolicyMemberGetResponse + """ + Displays a list of quota policies that are attached to directories. + + Args: + members (list[FixedReference], optional): + A list of members to query for. Overrides member_ids and member_names keyword arguments. + policies (list[FixedReference], optional): + A list of policies to query for. Overrides policy_ids and policy_names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + continuation_token (str, optional): + An opaque token to iterate over a collection of resources. + destroyed (bool, optional): + If set to `true`, lists only destroyed objects that are in the eradication + pending state. If set to `false`, lists only objects that are not destroyed. For + destroyed objects, the time remaining is displayed in milliseconds. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + member_ids (list[str], optional): + Performs the operation on the unique member IDs specified. Enter multiple member + IDs in comma-separated format. The `member_ids` or `member_names` parameter is + required, but they cannot be set together. + member_names (list[str], optional): + Performs the operation on the unique member name specified. Examples of members + include volumes, hosts, host groups, and directories. Enter multiple names in + comma-separated format. For example, `vol01,vol02`. + policy_ids (list[str], optional): + Performs the operation on the unique policy IDs specified. Enter multiple policy + IDs in comma-separated format. The `policy_ids` or `policy_names` parameter is + required, but they cannot be set together. + policy_names (list[str], optional): + Performs the operation on the policy names specified. Enter multiple policy + names in comma-separated format. For example, `name01,name02`. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + continuation_token=continuation_token, + destroyed=destroyed, + filter=filter, + limit=limit, + member_ids=member_ids, + member_names=member_names, + policy_ids=policy_ids, + policy_names=policy_names, + offset=offset, + sort=sort, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._directories_api.api226_directories_policies_quota_get_with_http_info + _process_references(members, ['member_ids', 'member_names'], kwargs) + _process_references(policies, ['policy_ids', 'policy_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def post_directories_policies_quota( + self, + members=None, # type: List[models.ReferenceType] + policies=None, # type: models.DirectoryPolicyPost + authorization=None, # type: str + x_request_id=None, # type: str + member_ids=None, # type: List[str] + member_names=None, # type: List[str] + ignore_usage=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PolicyMemberResponse + """ + Creates a membership between a directory and one or more quota policies. The + `member_ids` or `member_names` parameter is required, but cannot be set + together. + + Args: + members (list[FixedReference], optional): + A list of members to query for. Overrides member_ids and member_names keyword arguments. + + policies (DirectoryPolicyPost, required): + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + member_ids (list[str], optional): + Performs the operation on the unique member IDs specified. Enter multiple member + IDs in comma-separated format. The `member_ids` or `member_names` parameter is + required, but they cannot be set together. + member_names (list[str], optional): + Performs the operation on the unique member name specified. Examples of members + include volumes, hosts, host groups, and directories. Enter multiple names in + comma-separated format. For example, `vol01,vol02`. + ignore_usage (bool, optional): + Flag used to override checks for quota management operations. If set to `true`, + directory usage is not checked against the `quota_limits` that are set. If set + to `false`, the actual logical bytes in use are prevented from exceeding the + limits set on the directory. Client operations might be impacted. If the limit + exceeds the quota, the client operation is not allowed. If not specified, + defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + policies=policies, + authorization=authorization, + x_request_id=x_request_id, + member_ids=member_ids, + member_names=member_names, + ignore_usage=ignore_usage, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._directories_api.api226_directories_policies_quota_post_with_http_info + _process_references(members, ['member_ids', 'member_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def delete_directories_policies_smb( + self, + members=None, # type: List[models.ReferenceType] + policies=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + member_ids=None, # type: List[str] + member_names=None, # type: List[str] + policy_ids=None, # type: List[str] + policy_names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """ + Deletes a membership between a directory and one or more SMB policies. The + `policy_ids` or `policy_names` parameter is required, but cannot be set + together. The `member_ids` or `member_names` parameter is required, but cannot + be set together. + + Args: + members (list[FixedReference], optional): + A list of members to query for. Overrides member_ids and member_names keyword arguments. + policies (list[FixedReference], optional): + A list of policies to query for. Overrides policy_ids and policy_names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + member_ids (list[str], optional): + Performs the operation on the unique member IDs specified. Enter multiple member + IDs in comma-separated format. The `member_ids` or `member_names` parameter is + required, but they cannot be set together. + member_names (list[str], optional): + Performs the operation on the unique member name specified. Examples of members + include volumes, hosts, host groups, and directories. Enter multiple names in + comma-separated format. For example, `vol01,vol02`. + policy_ids (list[str], optional): + Performs the operation on the unique policy IDs specified. Enter multiple policy + IDs in comma-separated format. The `policy_ids` or `policy_names` parameter is + required, but they cannot be set together. + policy_names (list[str], optional): + Performs the operation on the policy names specified. Enter multiple policy + names in comma-separated format. For example, `name01,name02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + member_ids=member_ids, + member_names=member_names, + policy_ids=policy_ids, + policy_names=policy_names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._directories_api.api226_directories_policies_smb_delete_with_http_info + _process_references(members, ['member_ids', 'member_names'], kwargs) + _process_references(policies, ['policy_ids', 'policy_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_directories_policies_smb( + self, + members=None, # type: List[models.ReferenceType] + policies=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + destroyed=None, # type: bool + filter=None, # type: str + limit=None, # type: int + member_ids=None, # type: List[str] + member_names=None, # type: List[str] + policy_ids=None, # type: List[str] + policy_names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PolicyMemberExportGetResponse + """ + Displays a list of SMB policies that are attached to directories. + + Args: + members (list[FixedReference], optional): + A list of members to query for. Overrides member_ids and member_names keyword arguments. + policies (list[FixedReference], optional): + A list of policies to query for. Overrides policy_ids and policy_names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + continuation_token (str, optional): + An opaque token to iterate over a collection of resources. + destroyed (bool, optional): + If set to `true`, lists only destroyed objects that are in the eradication + pending state. If set to `false`, lists only objects that are not destroyed. For + destroyed objects, the time remaining is displayed in milliseconds. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + member_ids (list[str], optional): + Performs the operation on the unique member IDs specified. Enter multiple member + IDs in comma-separated format. The `member_ids` or `member_names` parameter is + required, but they cannot be set together. + member_names (list[str], optional): + Performs the operation on the unique member name specified. Examples of members + include volumes, hosts, host groups, and directories. Enter multiple names in + comma-separated format. For example, `vol01,vol02`. + policy_ids (list[str], optional): + Performs the operation on the unique policy IDs specified. Enter multiple policy + IDs in comma-separated format. The `policy_ids` or `policy_names` parameter is + required, but they cannot be set together. + policy_names (list[str], optional): + Performs the operation on the policy names specified. Enter multiple policy + names in comma-separated format. For example, `name01,name02`. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + continuation_token=continuation_token, + destroyed=destroyed, + filter=filter, + limit=limit, + member_ids=member_ids, + member_names=member_names, + policy_ids=policy_ids, + policy_names=policy_names, + offset=offset, + sort=sort, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._directories_api.api226_directories_policies_smb_get_with_http_info + _process_references(members, ['member_ids', 'member_names'], kwargs) + _process_references(policies, ['policy_ids', 'policy_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def post_directories_policies_smb( + self, + members=None, # type: List[models.ReferenceType] + policies=None, # type: models.DirectoryPolicyExportPost + authorization=None, # type: str + x_request_id=None, # type: str + member_ids=None, # type: List[str] + member_names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PolicyMemberExportResponse + """ + Creates a membership between a directory and one or more SMB policies. The + `member_ids` or `member_names` parameter is required, but cannot be set + together. + + Args: + members (list[FixedReference], optional): + A list of members to query for. Overrides member_ids and member_names keyword arguments. + + policies (DirectoryPolicyExportPost, required): + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + member_ids (list[str], optional): + Performs the operation on the unique member IDs specified. Enter multiple member + IDs in comma-separated format. The `member_ids` or `member_names` parameter is + required, but they cannot be set together. + member_names (list[str], optional): + Performs the operation on the unique member name specified. Examples of members + include volumes, hosts, host groups, and directories. Enter multiple names in + comma-separated format. For example, `vol01,vol02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + policies=policies, + authorization=authorization, + x_request_id=x_request_id, + member_ids=member_ids, + member_names=member_names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._directories_api.api226_directories_policies_smb_post_with_http_info + _process_references(members, ['member_ids', 'member_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def delete_directories_policies_snapshot( + self, + members=None, # type: List[models.ReferenceType] + policies=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + member_ids=None, # type: List[str] + member_names=None, # type: List[str] + policy_ids=None, # type: List[str] + policy_names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """ + Deletes a membership between a directory and one or more snapshot policies. The + `policy_ids` or `policy_names` parameter is required, but cannot be set + together. The `member_ids` or `member_names` parameter is required, but cannot + be set together. + + Args: + members (list[FixedReference], optional): + A list of members to query for. Overrides member_ids and member_names keyword arguments. + policies (list[FixedReference], optional): + A list of policies to query for. Overrides policy_ids and policy_names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + member_ids (list[str], optional): + Performs the operation on the unique member IDs specified. Enter multiple member + IDs in comma-separated format. The `member_ids` or `member_names` parameter is + required, but they cannot be set together. + member_names (list[str], optional): + Performs the operation on the unique member name specified. Examples of members + include volumes, hosts, host groups, and directories. Enter multiple names in + comma-separated format. For example, `vol01,vol02`. + policy_ids (list[str], optional): + Performs the operation on the unique policy IDs specified. Enter multiple policy + IDs in comma-separated format. The `policy_ids` or `policy_names` parameter is + required, but they cannot be set together. + policy_names (list[str], optional): + Performs the operation on the policy names specified. Enter multiple policy + names in comma-separated format. For example, `name01,name02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + member_ids=member_ids, + member_names=member_names, + policy_ids=policy_ids, + policy_names=policy_names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._directories_api.api226_directories_policies_snapshot_delete_with_http_info + _process_references(members, ['member_ids', 'member_names'], kwargs) + _process_references(policies, ['policy_ids', 'policy_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_directories_policies_snapshot( + self, + members=None, # type: List[models.ReferenceType] + policies=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + destroyed=None, # type: bool + filter=None, # type: str + limit=None, # type: int + member_ids=None, # type: List[str] + member_names=None, # type: List[str] + policy_ids=None, # type: List[str] + policy_names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PolicyMemberGetResponse + """ + Displays a list of snapshot policies that are attached to directories. + + Args: + members (list[FixedReference], optional): + A list of members to query for. Overrides member_ids and member_names keyword arguments. + policies (list[FixedReference], optional): + A list of policies to query for. Overrides policy_ids and policy_names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + continuation_token (str, optional): + An opaque token to iterate over a collection of resources. + destroyed (bool, optional): + If set to `true`, lists only destroyed objects that are in the eradication + pending state. If set to `false`, lists only objects that are not destroyed. For + destroyed objects, the time remaining is displayed in milliseconds. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + member_ids (list[str], optional): + Performs the operation on the unique member IDs specified. Enter multiple member + IDs in comma-separated format. The `member_ids` or `member_names` parameter is + required, but they cannot be set together. + member_names (list[str], optional): + Performs the operation on the unique member name specified. Examples of members + include volumes, hosts, host groups, and directories. Enter multiple names in + comma-separated format. For example, `vol01,vol02`. + policy_ids (list[str], optional): + Performs the operation on the unique policy IDs specified. Enter multiple policy + IDs in comma-separated format. The `policy_ids` or `policy_names` parameter is + required, but they cannot be set together. + policy_names (list[str], optional): + Performs the operation on the policy names specified. Enter multiple policy + names in comma-separated format. For example, `name01,name02`. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + continuation_token=continuation_token, + destroyed=destroyed, + filter=filter, + limit=limit, + member_ids=member_ids, + member_names=member_names, + policy_ids=policy_ids, + policy_names=policy_names, + offset=offset, + sort=sort, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._directories_api.api226_directories_policies_snapshot_get_with_http_info + _process_references(members, ['member_ids', 'member_names'], kwargs) + _process_references(policies, ['policy_ids', 'policy_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def post_directories_policies_snapshot( + self, + members=None, # type: List[models.ReferenceType] + policies=None, # type: models.DirectoryPolicyPost + authorization=None, # type: str + x_request_id=None, # type: str + member_ids=None, # type: List[str] + member_names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PolicyMemberResponse + """ + Creates a membership between a directory with one or more snapshot policies. The + `member_ids` or `member_names` parameter is required, but cannot be set + together. + + Args: + members (list[FixedReference], optional): + A list of members to query for. Overrides member_ids and member_names keyword arguments. + + policies (DirectoryPolicyPost, required): + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + member_ids (list[str], optional): + Performs the operation on the unique member IDs specified. Enter multiple member + IDs in comma-separated format. The `member_ids` or `member_names` parameter is + required, but they cannot be set together. + member_names (list[str], optional): + Performs the operation on the unique member name specified. Examples of members + include volumes, hosts, host groups, and directories. Enter multiple names in + comma-separated format. For example, `vol01,vol02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + policies=policies, + authorization=authorization, + x_request_id=x_request_id, + member_ids=member_ids, + member_names=member_names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._directories_api.api226_directories_policies_snapshot_post_with_http_info + _process_references(members, ['member_ids', 'member_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def post_directories( + self, + references=None, # type: List[models.ReferenceType] + file_systems=None, # type: List[models.ReferenceType] + directory=None, # type: models.DirectoryPost + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + file_system_names=None, # type: List[str] + file_system_ids=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.DirectoryResponse + """ + Creates a managed directory at the specified path. The managed directory name + must consist of a file system name prefix and a managed directory name suffix + (separated with ':'). The suffix must be between 1 and 63 characters + (alphanumeric and '-') in length and begin and end with a letter or number. The + suffix must include at least one letter or '-'. Set `names` to create a managed + directory with the specified full managed directory name, or set + `file_system_names` or `file_system_ids` in the query parameters and `suffix` in + the body parameters to create a managed directory in the specified file system + with the specified suffix. These two options are exclusive. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names keyword arguments. + file_systems (list[FixedReference], optional): + A list of file_systems to query for. Overrides file_system_names and file_system_ids keyword arguments. + + directory (DirectoryPost, required): + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + file_system_names (list[str], optional): + Performs the operation on the file system name specified. Enter multiple file + system names in comma-separated format. For example, + `filesystem01,filesystem02`. + file_system_ids (list[str], optional): + Performs the operation on the file system ID specified. Enter multiple file + system IDs in comma-separated format. The `file_system_ids` or + `file_system_names` parameter is required, but they cannot be set together. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + directory=directory, + authorization=authorization, + x_request_id=x_request_id, + names=names, + file_system_names=file_system_names, + file_system_ids=file_system_ids, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._directories_api.api226_directories_post_with_http_info + _process_references(references, ['names'], kwargs) + _process_references(file_systems, ['file_system_names', 'file_system_ids'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_directories_space( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + destroyed=None, # type: bool + filter=None, # type: str + end_time=None, # type: int + resolution=None, # type: int + start_time=None, # type: int + ids=None, # type: List[str] + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + total_only=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.ResourceDirectorySpaceGetResponse + """ + Displays physical storage consumption data for each directory. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides ids and names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + destroyed (bool, optional): + If set to `true`, lists only destroyed objects that are in the eradication + pending state. If set to `false`, lists only objects that are not destroyed. For + destroyed objects, the time remaining is displayed in milliseconds. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + end_time (int, optional): + Displays historical performance data for the specified time window, where + `start_time` is the beginning of the time window, and `end_time` is the end of + the time window. The `start_time` and `end_time` parameters are specified in + milliseconds since the UNIX epoch. If `start_time` is not specified, the start + time will default to one resolution before the end time, meaning that the most + recent sample of performance data will be displayed. If `end_time`is not + specified, the end time will default to the current time. Include the + `resolution` parameter to display the performance data at the specified + resolution. If not specified, `resolution` defaults to the lowest valid + resolution. + resolution (int, optional): + The number of milliseconds between samples of historical data. For array-wide + performance metrics (`/arrays/performance` endpoint), valid values are `1000` (1 + second), `30000` (30 seconds), `300000` (5 minutes), `1800000` (30 minutes), + `7200000` (2 hours), `28800000` (8 hours), and `86400000` (24 hours). For + performance metrics on storage objects (`/performance` endpoint), + such as volumes, valid values are `30000` (30 seconds), `300000` (5 minutes), + `1800000` (30 minutes), `7200000` (2 hours), `28800000` (8 hours), and + `86400000` (24 hours). For space metrics, (`/space` endpoint), + valid values are `300000` (5 minutes), `1800000` (30 minutes), `7200000` (2 + hours), `28800000` (8 hours), and `86400000` (24 hours). Include the + `start_time` parameter to display the performance data starting at the specified + start time. If `start_time` is not specified, the start time will default to one + resolution before the end time, meaning that the most recent sample of + performance data will be displayed. Include the `end_time` parameter to display + the performance data until the specified end time. If `end_time`is not + specified, the end time will default to the current time. If the `resolution` + parameter is not specified but either the `start_time` or `end_time` parameter + is, then `resolution` will default to the lowest valid resolution. + start_time (int, optional): + Displays historical performance data for the specified time window, where + `start_time` is the beginning of the time window, and `end_time` is the end of + the time window. The `start_time` and `end_time` parameters are specified in + milliseconds since the UNIX epoch. If `start_time` is not specified, the start + time will default to one resolution before the end time, meaning that the most + recent sample of performance data will be displayed. If `end_time`is not + specified, the end time will default to the current time. Include the + `resolution` parameter to display the performance data at the specified + resolution. If not specified, `resolution` defaults to the lowest valid + resolution. + ids (list[str], optional): + Performs the operation on the unique resource IDs specified. Enter multiple + resource IDs in comma-separated format. The `ids` or `names` parameter is + required, but they cannot be set together. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + total_only (bool, optional): + If set to `true`, returns the aggregate value of all items after filtering. + Where it makes more sense, the average value is displayed instead. The values + are displayed for each name where meaningful. If `total_only=true`, the `items` + list will be empty. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + destroyed=destroyed, + filter=filter, + end_time=end_time, + resolution=resolution, + start_time=start_time, + ids=ids, + limit=limit, + names=names, + offset=offset, + sort=sort, + total_item_count=total_item_count, + total_only=total_only, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._directories_api.api226_directories_space_get_with_http_info + _process_references(references, ['ids', 'names'], kwargs) + return self._call_api(endpoint, kwargs) + + def delete_directory_exports( + self, + exports=None, # type: List[models.ReferenceType] + policies=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + export_names=None, # type: List[str] + policy_ids=None, # type: List[str] + policy_names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """ + Deletes one or more directory exports. If any of the `export_names` is not + unique across the system, `policy_ids` or `policy_names` must be specified to + determine the exports. + + Args: + exports (list[FixedReference], optional): + A list of exports to query for. Overrides export_names keyword arguments. + policies (list[FixedReference], optional): + A list of policies to query for. Overrides policy_ids and policy_names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + export_names (list[str], optional): + Performs the operation on the export names specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + policy_ids (list[str], optional): + Performs the operation on the unique policy IDs specified. Enter multiple policy + IDs in comma-separated format. The `policy_ids` or `policy_names` parameter is + required, but they cannot be set together. + policy_names (list[str], optional): + Performs the operation on the policy names specified. Enter multiple policy + names in comma-separated format. For example, `name01,name02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + export_names=export_names, + policy_ids=policy_ids, + policy_names=policy_names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._directory_exports_api.api226_directory_exports_delete_with_http_info + _process_references(exports, ['export_names'], kwargs) + _process_references(policies, ['policy_ids', 'policy_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_directory_exports( + self, + directories=None, # type: List[models.ReferenceType] + exports=None, # type: List[models.ReferenceType] + policies=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + destroyed=None, # type: bool + directory_ids=None, # type: List[str] + directory_names=None, # type: List[str] + export_names=None, # type: List[str] + filter=None, # type: str + limit=None, # type: int + offset=None, # type: int + policy_ids=None, # type: List[str] + policy_names=None, # type: List[str] + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.DirectoryExportGetResponse + """ + Displays a list of directory exports. + + Args: + directories (list[FixedReference], optional): + A list of directories to query for. Overrides directory_ids and directory_names keyword arguments. + exports (list[FixedReference], optional): + A list of exports to query for. Overrides export_names keyword arguments. + policies (list[FixedReference], optional): + A list of policies to query for. Overrides policy_ids and policy_names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + continuation_token (str, optional): + An opaque token to iterate over a collection of resources. + destroyed (bool, optional): + If set to `true`, lists only destroyed objects that are in the eradication + pending state. If set to `false`, lists only objects that are not destroyed. For + destroyed objects, the time remaining is displayed in milliseconds. + directory_ids (list[str], optional): + Performs the operation on the unique managed directory IDs specified. Enter + multiple managed directory IDs in comma-separated format. The `directory_ids` or + `directory_names` parameter is required, but they cannot be set together. + directory_names (list[str], optional): + Performs the operation on the managed directory names specified. Enter multiple + full managed directory names in comma-separated format. For example, + `fs:dir01,fs:dir02`. + export_names (list[str], optional): + Performs the operation on the export names specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + policy_ids (list[str], optional): + Performs the operation on the unique policy IDs specified. Enter multiple policy + IDs in comma-separated format. The `policy_ids` or `policy_names` parameter is + required, but they cannot be set together. + policy_names (list[str], optional): + Performs the operation on the policy names specified. Enter multiple policy + names in comma-separated format. For example, `name01,name02`. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + continuation_token=continuation_token, + destroyed=destroyed, + directory_ids=directory_ids, + directory_names=directory_names, + export_names=export_names, + filter=filter, + limit=limit, + offset=offset, + policy_ids=policy_ids, + policy_names=policy_names, + sort=sort, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._directory_exports_api.api226_directory_exports_get_with_http_info + _process_references(directories, ['directory_ids', 'directory_names'], kwargs) + _process_references(exports, ['export_names'], kwargs) + _process_references(policies, ['policy_ids', 'policy_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def post_directory_exports( + self, + directories=None, # type: List[models.ReferenceType] + policies=None, # type: List[models.ReferenceType] + exports=None, # type: models.DirectoryExportPost + authorization=None, # type: str + x_request_id=None, # type: str + directory_ids=None, # type: List[str] + directory_names=None, # type: List[str] + policy_ids=None, # type: List[str] + policy_names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.DirectoryExportResponse + """ + Creates an export of a managed directory. The `directory_ids` or + `directory_names` parameter is required, but cannot be set together. The + `policy_ids` or `policy_names` parameter is required, but cannot be set + together. + + Args: + directories (list[FixedReference], optional): + A list of directories to query for. Overrides directory_ids and directory_names keyword arguments. + policies (list[FixedReference], optional): + A list of policies to query for. Overrides policy_ids and policy_names keyword arguments. + + exports (DirectoryExportPost, required): + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + directory_ids (list[str], optional): + Performs the operation on the unique managed directory IDs specified. Enter + multiple managed directory IDs in comma-separated format. The `directory_ids` or + `directory_names` parameter is required, but they cannot be set together. + directory_names (list[str], optional): + Performs the operation on the managed directory names specified. Enter multiple + full managed directory names in comma-separated format. For example, + `fs:dir01,fs:dir02`. + policy_ids (list[str], optional): + Performs the operation on the unique policy IDs specified. Enter multiple policy + IDs in comma-separated format. The `policy_ids` or `policy_names` parameter is + required, but they cannot be set together. + policy_names (list[str], optional): + Performs the operation on the policy names specified. Enter multiple policy + names in comma-separated format. For example, `name01,name02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + exports=exports, + authorization=authorization, + x_request_id=x_request_id, + directory_ids=directory_ids, + directory_names=directory_names, + policy_ids=policy_ids, + policy_names=policy_names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._directory_exports_api.api226_directory_exports_post_with_http_info + _process_references(directories, ['directory_ids', 'directory_names'], kwargs) + _process_references(policies, ['policy_ids', 'policy_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_directory_quotas( + self, + directories=None, # type: List[models.ReferenceType] + policies=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + directory_ids=None, # type: List[str] + directory_names=None, # type: List[str] + filter=None, # type: str + limit=None, # type: int + offset=None, # type: int + policy_ids=None, # type: List[str] + policy_names=None, # type: List[str] + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.DirectoryQuotasGetResponse + """ + Displays a list of directories and the quota policies attached to them. + Directories with multiple policies are listed repeatedly (once per policy). The + directories without a policy attached are not listed. + + Args: + directories (list[FixedReference], optional): + A list of directories to query for. Overrides directory_ids and directory_names keyword arguments. + policies (list[FixedReference], optional): + A list of policies to query for. Overrides policy_ids and policy_names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + continuation_token (str, optional): + An opaque token to iterate over a collection of resources. + directory_ids (list[str], optional): + Performs the operation on the unique managed directory IDs specified. Enter + multiple managed directory IDs in comma-separated format. The `directory_ids` or + `directory_names` parameter is required, but they cannot be set together. + directory_names (list[str], optional): + Performs the operation on the managed directory names specified. Enter multiple + full managed directory names in comma-separated format. For example, + `fs:dir01,fs:dir02`. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + policy_ids (list[str], optional): + Performs the operation on the unique policy IDs specified. Enter multiple policy + IDs in comma-separated format. The `policy_ids` or `policy_names` parameter is + required, but they cannot be set together. + policy_names (list[str], optional): + Performs the operation on the policy names specified. Enter multiple policy + names in comma-separated format. For example, `name01,name02`. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + continuation_token=continuation_token, + directory_ids=directory_ids, + directory_names=directory_names, + filter=filter, + limit=limit, + offset=offset, + policy_ids=policy_ids, + policy_names=policy_names, + sort=sort, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._directory_quotas_api.api226_directory_quotas_get_with_http_info + _process_references(directories, ['directory_ids', 'directory_names'], kwargs) + _process_references(policies, ['policy_ids', 'policy_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_directory_services( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + filter=None, # type: str + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.DirectoryServiceGetResponse + """ + Displays the role-based access control (RBAC) group configuration settings for + manageability. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + continuation_token (str, optional): + An opaque token to iterate over a collection of resources. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + continuation_token=continuation_token, + filter=filter, + limit=limit, + names=names, + offset=offset, + sort=sort, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._directory_services_api.api226_directory_services_get_with_http_info + _process_references(references, ['names'], kwargs) + return self._call_api(endpoint, kwargs) + + def delete_directory_services_local_groups( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + sids=None, # type: List[str] + gids=None, # type: List[int] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """ + Deletes one or more local groups. The `gids`, `names`, or `sids` parameter is + required, but cannot be set together. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + sids (list[str], optional): + Performs the operation on the object SID specified. Enter multiple SIDs in + comma-separated format. For example, + `S-1-2-532-582374278-329482934,S-1-2-532-234235245-423425234`. + gids (list[int], optional): + Performs the operation on the specified GIDs. Enter multiple GIDs in comma- + separated format. For example, `4234235,9681923`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + names=names, + sids=sids, + gids=gids, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._directory_services_api.api226_directory_services_local_groups_delete_with_http_info + _process_references(references, ['names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_directory_services_local_groups( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + ids=None, # type: List[str] + gids=None, # type: List[int] + sids=None, # type: List[str] + names=None, # type: List[str] + filter=None, # type: str + limit=None, # type: int + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.LocalGroupGetResponse + """ + Displays a list of local groups. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides ids and names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + continuation_token (str, optional): + An opaque token to iterate over a collection of resources. + ids (list[str], optional): + Performs the operation on the unique resource IDs specified. Enter multiple + resource IDs in comma-separated format. The `ids` or `names` parameter is + required, but they cannot be set together. + gids (list[int], optional): + Performs the operation on the specified GIDs. Enter multiple GIDs in comma- + separated format. For example, `4234235,9681923`. + sids (list[str], optional): + Performs the operation on the object SID specified. Enter multiple SIDs in + comma-separated format. For example, + `S-1-2-532-582374278-329482934,S-1-2-532-234235245-423425234`. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + continuation_token=continuation_token, + ids=ids, + gids=gids, + sids=sids, + names=names, + filter=filter, + limit=limit, + offset=offset, + sort=sort, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._directory_services_api.api226_directory_services_local_groups_get_with_http_info + _process_references(references, ['ids', 'names'], kwargs) + return self._call_api(endpoint, kwargs) + + def delete_directory_services_local_groups_members( + self, + groups=None, # type: List[models.ReferenceType] + members=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + group_names=None, # type: List[str] + group_sids=None, # type: List[str] + group_gids=None, # type: List[int] + member_names=None, # type: List[str] + member_sids=None, # type: List[str] + member_ids=None, # type: List[int] + member_types=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """ + Deletes one or more local group memberships. The `group_names`, `group_sids`, or + `group_ids` parameter is required, but cannot be set together. + + Args: + groups (list[FixedReference], optional): + A list of groups to query for. Overrides group_names keyword arguments. + members (list[FixedReference], optional): + A list of members to query for. Overrides member_names and member_ids keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + group_names (list[str], optional): + Performs the operation on the group names specified. Enter multiple group names + in comma-separated format. For example, `group1,group2`. + group_sids (list[str], optional): + Performs the operation on the specified group SID. Enter multiple group SIDs in + comma-separated format. For example, + `S-1-2-532-582374278-329482934,S-1-2-532-234235245-423425234`. + group_gids (list[int], optional): + Performs the operation on the specified GIDs. Enter multiple GIDs in comma- + separated format. For example, `4234235,9681923`. + member_names (list[str], optional): + Performs the operation on the unique member name specified. Examples of members + include volumes, hosts, host groups, and directories. Enter multiple names in + comma-separated format. For example, `vol01,vol02`. + member_sids (list[str], optional): + Performs the operation on the specified member SID. Enter multiple member SIDs + in comma-separated format. For example, + `S-1-2-532-582374278-329482934,S-1-2-532-234235245-423425234`. + member_ids (list[int], optional): + Performs the operation on the unique local member IDs specified. Enter multiple + member IDs in comma-separated format. For local group IDs refer to group IDs + (GID). For local user IDs refer to user IDs (UID). The `member_ids` and + `member_names` parameters cannot be provided together. + member_types (list[str], optional): + Performs the operation on the member types specified. The type of member is the + full name of the resource endpoint. Valid values include `directories`. Enter + multiple member types in comma-separated format. For example, `type01,type02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + group_names=group_names, + group_sids=group_sids, + group_gids=group_gids, + member_names=member_names, + member_sids=member_sids, + member_ids=member_ids, + member_types=member_types, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._directory_services_api.api226_directory_services_local_groups_members_delete_with_http_info + _process_references(groups, ['group_names'], kwargs) + _process_references(members, ['member_names', 'member_ids'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_directory_services_local_groups_members( + self, + groups=None, # type: List[models.ReferenceType] + members=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + group_names=None, # type: List[str] + group_sids=None, # type: List[str] + group_gids=None, # type: List[int] + member_names=None, # type: List[str] + member_sids=None, # type: List[str] + member_ids=None, # type: List[int] + member_types=None, # type: List[str] + filter=None, # type: str + limit=None, # type: int + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.LocalMembershipGetResponse + """ + Displays a list of local group memberships. + + Args: + groups (list[FixedReference], optional): + A list of groups to query for. Overrides group_names keyword arguments. + members (list[FixedReference], optional): + A list of members to query for. Overrides member_names and member_ids keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + continuation_token (str, optional): + An opaque token to iterate over a collection of resources. + group_names (list[str], optional): + Performs the operation on the group names specified. Enter multiple group names + in comma-separated format. For example, `group1,group2`. + group_sids (list[str], optional): + Performs the operation on the specified group SID. Enter multiple group SIDs in + comma-separated format. For example, + `S-1-2-532-582374278-329482934,S-1-2-532-234235245-423425234`. + group_gids (list[int], optional): + Performs the operation on the specified GIDs. Enter multiple GIDs in comma- + separated format. For example, `4234235,9681923`. + member_names (list[str], optional): + Performs the operation on the unique member name specified. Examples of members + include volumes, hosts, host groups, and directories. Enter multiple names in + comma-separated format. For example, `vol01,vol02`. + member_sids (list[str], optional): + Performs the operation on the specified member SID. Enter multiple member SIDs + in comma-separated format. For example, + `S-1-2-532-582374278-329482934,S-1-2-532-234235245-423425234`. + member_ids (list[int], optional): + Performs the operation on the unique local member IDs specified. Enter multiple + member IDs in comma-separated format. For local group IDs refer to group IDs + (GID). For local user IDs refer to user IDs (UID). The `member_ids` and + `member_names` parameters cannot be provided together. + member_types (list[str], optional): + Performs the operation on the member types specified. The type of member is the + full name of the resource endpoint. Valid values include `directories`. Enter + multiple member types in comma-separated format. For example, `type01,type02`. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + continuation_token=continuation_token, + group_names=group_names, + group_sids=group_sids, + group_gids=group_gids, + member_names=member_names, + member_sids=member_sids, + member_ids=member_ids, + member_types=member_types, + filter=filter, + limit=limit, + offset=offset, + sort=sort, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._directory_services_api.api226_directory_services_local_groups_members_get_with_http_info + _process_references(groups, ['group_names'], kwargs) + _process_references(members, ['member_names', 'member_ids'], kwargs) + return self._call_api(endpoint, kwargs) + + def post_directory_services_local_groups_members( + self, + groups=None, # type: List[models.ReferenceType] + local_membership=None, # type: models.LocalGroupMembershipPost + authorization=None, # type: str + x_request_id=None, # type: str + group_names=None, # type: List[str] + group_sids=None, # type: List[str] + group_gids=None, # type: List[int] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.LocalMembershipResponse + """ + Creates a local group membership with a group. The `group_names`, `group_sids`, + or `group_ids` parameter is required, but cannot be set together. + + Args: + groups (list[FixedReference], optional): + A list of groups to query for. Overrides group_names keyword arguments. + + local_membership (LocalGroupMembershipPost, required): + The `member_names`, `member_sids`, or `member_gids` parameter is required, but + cannot be set together. + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + group_names (list[str], optional): + Performs the operation on the group names specified. Enter multiple group names + in comma-separated format. For example, `group1,group2`. + group_sids (list[str], optional): + Performs the operation on the specified group SID. Enter multiple group SIDs in + comma-separated format. For example, + `S-1-2-532-582374278-329482934,S-1-2-532-234235245-423425234`. + group_gids (list[int], optional): + Performs the operation on the specified GIDs. Enter multiple GIDs in comma- + separated format. For example, `4234235,9681923`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + local_membership=local_membership, + authorization=authorization, + x_request_id=x_request_id, + group_names=group_names, + group_sids=group_sids, + group_gids=group_gids, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._directory_services_api.api226_directory_services_local_groups_members_post_with_http_info + _process_references(groups, ['group_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def patch_directory_services_local_groups( + self, + references=None, # type: List[models.ReferenceType] + local_group=None, # type: models.LocalGroup + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + sids=None, # type: List[str] + gids=None, # type: List[int] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.LocalGroupResponse + """ + Modifies local groups. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names keyword arguments. + + local_group (LocalGroup, required): + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + sids (list[str], optional): + Performs the operation on the object SID specified. Enter multiple SIDs in + comma-separated format. For example, + `S-1-2-532-582374278-329482934,S-1-2-532-234235245-423425234`. + gids (list[int], optional): + Performs the operation on the specified GIDs. Enter multiple GIDs in comma- + separated format. For example, `4234235,9681923`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + local_group=local_group, + authorization=authorization, + x_request_id=x_request_id, + names=names, + sids=sids, + gids=gids, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._directory_services_api.api226_directory_services_local_groups_patch_with_http_info + _process_references(references, ['names'], kwargs) + return self._call_api(endpoint, kwargs) + + def post_directory_services_local_groups( + self, + references=None, # type: List[models.ReferenceType] + names=None, # type: List[str] + authorization=None, # type: str + x_request_id=None, # type: str + local_group=None, # type: models.LocalGroupPost + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.LocalGroupResponse + """ + Creates a local group. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names keyword arguments. + + names (list[str], required): + Performs the operation on the unique name specified. For example, `name01`. + Enter multiple names in comma-separated format. + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + names=names, + authorization=authorization, + x_request_id=x_request_id, + local_group=local_group, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._directory_services_api.api226_directory_services_local_groups_post_with_http_info + _process_references(references, ['names'], kwargs) + return self._call_api(endpoint, kwargs) + + def delete_directory_services_local_users( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + sids=None, # type: List[str] + uids=None, # type: List[int] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """ + Deletes one or more local users. The `uids`, `names`, or `sids` parameter is + required, but cannot be set together. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + sids (list[str], optional): + Performs the operation on the object SID specified. Enter multiple SIDs in + comma-separated format. For example, + `S-1-2-532-582374278-329482934,S-1-2-532-234235245-423425234`. + uids (list[int], optional): + A list of local user IDs (UIDs). Enter multiple local user IDs in comma- + separated format. For example, `423,51234`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + names=names, + sids=sids, + uids=uids, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._directory_services_api.api226_directory_services_local_users_delete_with_http_info + _process_references(references, ['names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_directory_services_local_users( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + ids=None, # type: List[str] + uids=None, # type: List[int] + sids=None, # type: List[str] + names=None, # type: List[str] + filter=None, # type: str + limit=None, # type: int + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.LocalUserGetResponse + """ + Displays a list of local users. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides ids and names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + continuation_token (str, optional): + An opaque token to iterate over a collection of resources. + ids (list[str], optional): + Performs the operation on the unique resource IDs specified. Enter multiple + resource IDs in comma-separated format. The `ids` or `names` parameter is + required, but they cannot be set together. + uids (list[int], optional): + A list of local user IDs (UIDs). Enter multiple local user IDs in comma- + separated format. For example, `423,51234`. + sids (list[str], optional): + Performs the operation on the object SID specified. Enter multiple SIDs in + comma-separated format. For example, + `S-1-2-532-582374278-329482934,S-1-2-532-234235245-423425234`. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + continuation_token=continuation_token, + ids=ids, + uids=uids, + sids=sids, + names=names, + filter=filter, + limit=limit, + offset=offset, + sort=sort, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._directory_services_api.api226_directory_services_local_users_get_with_http_info + _process_references(references, ['ids', 'names'], kwargs) + return self._call_api(endpoint, kwargs) + + def delete_directory_services_local_users_members( + self, + groups=None, # type: List[models.ReferenceType] + members=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + group_names=None, # type: List[str] + group_sids=None, # type: List[str] + group_gids=None, # type: List[int] + member_names=None, # type: List[str] + member_sids=None, # type: List[str] + member_ids=None, # type: List[int] + member_types=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """ + Deletes one or more local user memberships. The `member_names`, `member_sids`, + or `member_ids` parameter is required, but cannot be set together. + + Args: + groups (list[FixedReference], optional): + A list of groups to query for. Overrides group_names keyword arguments. + members (list[FixedReference], optional): + A list of members to query for. Overrides member_names and member_ids keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + group_names (list[str], optional): + Performs the operation on the group names specified. Enter multiple group names + in comma-separated format. For example, `group1,group2`. + group_sids (list[str], optional): + Performs the operation on the specified group SID. Enter multiple group SIDs in + comma-separated format. For example, + `S-1-2-532-582374278-329482934,S-1-2-532-234235245-423425234`. + group_gids (list[int], optional): + Performs the operation on the specified GIDs. Enter multiple GIDs in comma- + separated format. For example, `4234235,9681923`. + member_names (list[str], optional): + Performs the operation on the unique member name specified. Examples of members + include volumes, hosts, host groups, and directories. Enter multiple names in + comma-separated format. For example, `vol01,vol02`. + member_sids (list[str], optional): + Performs the operation on the specified member SID. Enter multiple member SIDs + in comma-separated format. For example, + `S-1-2-532-582374278-329482934,S-1-2-532-234235245-423425234`. + member_ids (list[int], optional): + Performs the operation on the unique local member IDs specified. Enter multiple + member IDs in comma-separated format. For local group IDs refer to group IDs + (GID). For local user IDs refer to user IDs (UID). The `member_ids` and + `member_names` parameters cannot be provided together. + member_types (list[str], optional): + Performs the operation on the member types specified. The type of member is the + full name of the resource endpoint. Valid values include `directories`. Enter + multiple member types in comma-separated format. For example, `type01,type02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + group_names=group_names, + group_sids=group_sids, + group_gids=group_gids, + member_names=member_names, + member_sids=member_sids, + member_ids=member_ids, + member_types=member_types, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._directory_services_api.api226_directory_services_local_users_members_delete_with_http_info + _process_references(groups, ['group_names'], kwargs) + _process_references(members, ['member_names', 'member_ids'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_directory_services_local_users_members( + self, + groups=None, # type: List[models.ReferenceType] + members=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + group_names=None, # type: List[str] + group_sids=None, # type: List[str] + group_gids=None, # type: List[int] + member_names=None, # type: List[str] + member_sids=None, # type: List[str] + member_ids=None, # type: List[int] + filter=None, # type: str + limit=None, # type: int + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.LocalMembershipGetResponse + """ + Displays a list of local user memberships. + + Args: + groups (list[FixedReference], optional): + A list of groups to query for. Overrides group_names keyword arguments. + members (list[FixedReference], optional): + A list of members to query for. Overrides member_names and member_ids keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + continuation_token (str, optional): + An opaque token to iterate over a collection of resources. + group_names (list[str], optional): + Performs the operation on the group names specified. Enter multiple group names + in comma-separated format. For example, `group1,group2`. + group_sids (list[str], optional): + Performs the operation on the specified group SID. Enter multiple group SIDs in + comma-separated format. For example, + `S-1-2-532-582374278-329482934,S-1-2-532-234235245-423425234`. + group_gids (list[int], optional): + Performs the operation on the specified GIDs. Enter multiple GIDs in comma- + separated format. For example, `4234235,9681923`. + member_names (list[str], optional): + Performs the operation on the unique member name specified. Examples of members + include volumes, hosts, host groups, and directories. Enter multiple names in + comma-separated format. For example, `vol01,vol02`. + member_sids (list[str], optional): + Performs the operation on the specified member SID. Enter multiple member SIDs + in comma-separated format. For example, + `S-1-2-532-582374278-329482934,S-1-2-532-234235245-423425234`. + member_ids (list[int], optional): + Performs the operation on the unique local member IDs specified. Enter multiple + member IDs in comma-separated format. For local group IDs refer to group IDs + (GID). For local user IDs refer to user IDs (UID). The `member_ids` and + `member_names` parameters cannot be provided together. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + continuation_token=continuation_token, + group_names=group_names, + group_sids=group_sids, + group_gids=group_gids, + member_names=member_names, + member_sids=member_sids, + member_ids=member_ids, + filter=filter, + limit=limit, + offset=offset, + sort=sort, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._directory_services_api.api226_directory_services_local_users_members_get_with_http_info + _process_references(groups, ['group_names'], kwargs) + _process_references(members, ['member_names', 'member_ids'], kwargs) + return self._call_api(endpoint, kwargs) + + def post_directory_services_local_users_members( + self, + members=None, # type: List[models.ReferenceType] + local_membership=None, # type: models.LocalUserMembershipPost + authorization=None, # type: str + x_request_id=None, # type: str + member_names=None, # type: List[str] + member_sids=None, # type: List[str] + member_ids=None, # type: List[int] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.LocalMembershipResponse + """ + Creates a local user membership with a group. The `member_names` or + `member_sids` or `member_ids` parameter is required, but cannot be set together. + + Args: + members (list[FixedReference], optional): + A list of members to query for. Overrides member_names and member_ids keyword arguments. + + local_membership (LocalUserMembershipPost, required): + The `group_names`, `group_sids`, or `group_gids` parameter is required, but + cannot be set together. + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + member_names (list[str], optional): + Performs the operation on the unique member name specified. Examples of members + include volumes, hosts, host groups, and directories. Enter multiple names in + comma-separated format. For example, `vol01,vol02`. + member_sids (list[str], optional): + Performs the operation on the specified member SID. Enter multiple member SIDs + in comma-separated format. For example, + `S-1-2-532-582374278-329482934,S-1-2-532-234235245-423425234`. + member_ids (list[int], optional): + Performs the operation on the unique local member IDs specified. Enter multiple + member IDs in comma-separated format. For local group IDs refer to group IDs + (GID). For local user IDs refer to user IDs (UID). The `member_ids` and + `member_names` parameters cannot be provided together. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + local_membership=local_membership, + authorization=authorization, + x_request_id=x_request_id, + member_names=member_names, + member_sids=member_sids, + member_ids=member_ids, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._directory_services_api.api226_directory_services_local_users_members_post_with_http_info + _process_references(members, ['member_names', 'member_ids'], kwargs) + return self._call_api(endpoint, kwargs) + + def patch_directory_services_local_users( + self, + references=None, # type: List[models.ReferenceType] + local_user=None, # type: models.LocalUserPatch + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + keep_open_sessions=None, # type: bool + sids=None, # type: List[str] + uids=None, # type: List[int] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.LocalUserResponse + """ + Modifies a local user. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names keyword arguments. + + local_user (LocalUserPatch, required): + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + keep_open_sessions (bool, optional): + If set to `true`, the session does not expire. If set to `false`, when the user + is disabled or password is changed, the session expires. If not specified, + defaults to `false`. + sids (list[str], optional): + Performs the operation on the object SID specified. Enter multiple SIDs in + comma-separated format. For example, + `S-1-2-532-582374278-329482934,S-1-2-532-234235245-423425234`. + uids (list[int], optional): + A list of local user IDs (UIDs). Enter multiple local user IDs in comma- + separated format. For example, `423,51234`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + local_user=local_user, + authorization=authorization, + x_request_id=x_request_id, + names=names, + keep_open_sessions=keep_open_sessions, + sids=sids, + uids=uids, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._directory_services_api.api226_directory_services_local_users_patch_with_http_info + _process_references(references, ['names'], kwargs) + return self._call_api(endpoint, kwargs) + + def post_directory_services_local_users( + self, + references=None, # type: List[models.ReferenceType] + names=None, # type: List[str] + authorization=None, # type: str + x_request_id=None, # type: str + local_user=None, # type: models.LocalUserPost + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.LocalUserResponse + """ + Creates a local user. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names keyword arguments. + + names (list[str], required): + Performs the operation on the unique name specified. For example, `name01`. + Enter multiple names in comma-separated format. + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + names=names, + authorization=authorization, + x_request_id=x_request_id, + local_user=local_user, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._directory_services_api.api226_directory_services_local_users_post_with_http_info + _process_references(references, ['names'], kwargs) + return self._call_api(endpoint, kwargs) + + def patch_directory_services( + self, + references=None, # type: List[models.ReferenceType] + names=None, # type: List[str] + directory_service=None, # type: models.DirectoryService + authorization=None, # type: str + x_request_id=None, # type: str + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.DirectoryServiceResponse + """ + Modifies the directory service configuration. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names keyword arguments. + + names (list[str], required): + Performs the operation on the unique name specified. For example, `name01`. + Enter multiple names in comma-separated format. + directory_service (DirectoryService, required): + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + names=names, + directory_service=directory_service, + authorization=authorization, + x_request_id=x_request_id, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._directory_services_api.api226_directory_services_patch_with_http_info + _process_references(references, ['names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_directory_services_roles( + self, + roles=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + filter=None, # type: str + limit=None, # type: int + offset=None, # type: int + role_names=None, # type: List[str] + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.DirectoryServiceRoleGetResponse + """ + Displays the role-based access control (RBAC) group role settings. + + Args: + roles (list[FixedReference], optional): + A list of roles to query for. Overrides role_names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + continuation_token (str, optional): + An opaque token to iterate over a collection of resources. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + role_names (list[str], optional): + Performs the operation on the unique roles specified. For example, + `array_admin`. Enter multiple roles in comma-separated format. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + continuation_token=continuation_token, + filter=filter, + limit=limit, + offset=offset, + role_names=role_names, + sort=sort, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._directory_services_api.api226_directory_services_roles_get_with_http_info + _process_references(roles, ['role_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def patch_directory_services_roles( + self, + roles=None, # type: List[models.ReferenceType] + role_names=None, # type: List[str] + directory_service_roles=None, # type: models.DirectoryServiceRole + authorization=None, # type: str + x_request_id=None, # type: str + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.DirectoryServiceRoleResponse + """ + Modifies directory services roles, mapping them to their configured `group` and + `group_base` in the directory service. + + Args: + roles (list[FixedReference], optional): + A list of roles to query for. Overrides role_names keyword arguments. + + role_names (list[str], required): + Performs the operation on the unique roles specified. For example, + `array_admin`. Enter multiple roles in comma-separated format. + directory_service_roles (DirectoryServiceRole, required): + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + role_names=role_names, + directory_service_roles=directory_service_roles, + authorization=authorization, + x_request_id=x_request_id, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._directory_services_api.api226_directory_services_roles_patch_with_http_info + _process_references(roles, ['role_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_directory_services_test( + self, + references=None, # type: List[models.ReferenceType] + names=None, # type: List[str] + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + filter=None, # type: str + limit=None, # type: int + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.TestResultWithResourceResponse + """ + Displays the directory services test and displays the results. The test verifies + that URIs can be resolved and that the array can bind and query the tree using + the bind user credentials. The test also verifies that the array can find all + configured groups to ensure the common names and group base are correctly + configured. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names keyword arguments. + + names (list[str], required): + Performs the operation on the unique name specified. For example, `name01`. + Enter multiple names in comma-separated format. + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + continuation_token (str, optional): + An opaque token to iterate over a collection of resources. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + names=names, + authorization=authorization, + x_request_id=x_request_id, + continuation_token=continuation_token, + filter=filter, + limit=limit, + offset=offset, + sort=sort, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._directory_services_api.api226_directory_services_test_get_with_http_info + _process_references(references, ['names'], kwargs) + return self._call_api(endpoint, kwargs) + + def delete_directory_snapshots( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + ids=None, # type: List[str] + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """ + Deletes a directory snapshot that has been destroyed and is pending eradication. + Eradicated directory snapshots cannot be recovered. Directory snapshots are + destroyed by using the PATCH method. The `ids` or `names` parameter is required, + but they cannot be set together. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides ids and names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + ids (list[str], optional): + Performs the operation on the unique resource IDs specified. Enter multiple + resource IDs in comma-separated format. The `ids` or `names` parameter is + required, but they cannot be set together. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + ids=ids, + names=names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._directory_snapshots_api.api226_directory_snapshots_delete_with_http_info + _process_references(references, ['ids', 'names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_directory_snapshots( + self, + references=None, # type: List[models.ReferenceType] + sources=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + destroyed=None, # type: bool + filter=None, # type: str + ids=None, # type: List[str] + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + source_ids=None, # type: List[str] + source_names=None, # type: List[str] + total_item_count=None, # type: bool + total_only=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.DirectorySnapshotGetResponse + """ + Displays a list of directory snapshots, including those pending eradication. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides ids and names keyword arguments. + sources (list[FixedReference], optional): + A list of sources to query for. Overrides source_ids and source_names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + continuation_token (str, optional): + An opaque token to iterate over a collection of resources. + destroyed (bool, optional): + If set to `true`, lists only destroyed objects that are in the eradication + pending state. If set to `false`, lists only objects that are not destroyed. For + destroyed objects, the time remaining is displayed in milliseconds. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + ids (list[str], optional): + Performs the operation on the unique resource IDs specified. Enter multiple + resource IDs in comma-separated format. The `ids` or `names` parameter is + required, but they cannot be set together. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + source_ids (list[str], optional): + Performs the operation on the source ID specified. Enter multiple source IDs in + comma-separated format. + source_names (list[str], optional): + Performs the operation on the source name specified. Enter multiple source names + in comma-separated format. For example, `name01,name02`. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + total_only (bool, optional): + If set to `true`, returns the aggregate value of all items after filtering. + Where it makes more sense, the average value is displayed instead. The values + are displayed for each name where meaningful. If `total_only=true`, the `items` + list will be empty. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + continuation_token=continuation_token, + destroyed=destroyed, + filter=filter, + ids=ids, + limit=limit, + names=names, + offset=offset, + sort=sort, + source_ids=source_ids, + source_names=source_names, + total_item_count=total_item_count, + total_only=total_only, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._directory_snapshots_api.api226_directory_snapshots_get_with_http_info + _process_references(references, ['ids', 'names'], kwargs) + _process_references(sources, ['source_ids', 'source_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def patch_directory_snapshots( + self, + references=None, # type: List[models.ReferenceType] + directory_snapshot=None, # type: models.DirectorySnapshotPatch + authorization=None, # type: str + x_request_id=None, # type: str + ids=None, # type: List[str] + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.DirectorySnapshotResponse + """ + Modifies a directory snapshot. You can destroy, recover, or update the policy or + time remaining of a directory snapshot. To destroy a directory snapshot, set + `destroyed=true`. To recover a directory snapshot that has been destroyed and is + pending eradication, set `destroyed=false`. To rename a directory snapshot, set + `name` to the new name. The `ids` or `names` parameter is required, but they + cannot be set together. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides ids and names keyword arguments. + + directory_snapshot (DirectorySnapshotPatch, required): + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + ids (list[str], optional): + Performs the operation on the unique resource IDs specified. Enter multiple + resource IDs in comma-separated format. The `ids` or `names` parameter is + required, but they cannot be set together. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + directory_snapshot=directory_snapshot, + authorization=authorization, + x_request_id=x_request_id, + ids=ids, + names=names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._directory_snapshots_api.api226_directory_snapshots_patch_with_http_info + _process_references(references, ['ids', 'names'], kwargs) + return self._call_api(endpoint, kwargs) + + def post_directory_snapshots( + self, + sources=None, # type: List[models.ReferenceType] + directory_snapshot=None, # type: models.DirectorySnapshotPost + authorization=None, # type: str + x_request_id=None, # type: str + source_ids=None, # type: List[str] + source_names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.DirectorySnapshotResponse + """ + Creates a snapshot of the contents of a directory. The `source_ids` or + `source_names` parameter is required, but they cannot be set together. + + Args: + sources (list[FixedReference], optional): + A list of sources to query for. Overrides source_ids and source_names keyword arguments. + + directory_snapshot (DirectorySnapshotPost, required): + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + source_ids (list[str], optional): + Performs the operation on the source ID specified. Enter multiple source IDs in + comma-separated format. + source_names (list[str], optional): + Performs the operation on the source name specified. Enter multiple source names + in comma-separated format. For example, `name01,name02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + directory_snapshot=directory_snapshot, + authorization=authorization, + x_request_id=x_request_id, + source_ids=source_ids, + source_names=source_names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._directory_snapshots_api.api226_directory_snapshots_post_with_http_info + _process_references(sources, ['source_ids', 'source_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def delete_dns( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """ + Deletes DNS configuration identified by configuration name. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + names=names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._dns_api.api226_dns_delete_with_http_info + _process_references(references, ['names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_dns( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + filter=None, # type: str + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.DnsGetResponse + """ + Displays the current DNS configurations and their parameters including domain + suffix, the list of DNS name server IP addresses, and the list of services that + DNS parameters apply to. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + continuation_token (str, optional): + An opaque token to iterate over a collection of resources. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + continuation_token=continuation_token, + filter=filter, + limit=limit, + names=names, + offset=offset, + sort=sort, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._dns_api.api226_dns_get_with_http_info + _process_references(references, ['names'], kwargs) + return self._call_api(endpoint, kwargs) + + def patch_dns( + self, + references=None, # type: List[models.ReferenceType] + dns=None, # type: models.DnsPatch + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.DnsResponse + """ + Modifies the DNS parameters of an array, including the domain suffix, the list + of DNS name server IP addresses, and the list of services that DNS parameters + apply to. If there is no DNS configuration beforehand new DNS configuration with + 'default' name is created. If more than one DNS configuration exists `name` has + to be specified to identify the DNS configuration to be modified. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names keyword arguments. + + dns (DnsPatch, required): + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + dns=dns, + authorization=authorization, + x_request_id=x_request_id, + names=names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._dns_api.api226_dns_patch_with_http_info + _process_references(references, ['names'], kwargs) + return self._call_api(endpoint, kwargs) + + def post_dns( + self, + references=None, # type: List[models.ReferenceType] + dns=None, # type: models.DnsPost + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.DnsResponse + """ + Creates new DNS configuration with parameters including the domain suffix, the + list of DNS name server IP addresses, and the list of services that DNS + parameters apply to. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names keyword arguments. + + dns (DnsPost, required): + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + dns=dns, + authorization=authorization, + x_request_id=x_request_id, + names=names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._dns_api.api226_dns_post_with_http_info + _process_references(references, ['names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_drives( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + filter=None, # type: str + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.DriveGetResponse + """ + Displays a list of flash, NVRAM, and cache modules that are installed in the + array along with their attributes and status. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + continuation_token (str, optional): + An opaque token to iterate over a collection of resources. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + continuation_token=continuation_token, + filter=filter, + limit=limit, + names=names, + offset=offset, + sort=sort, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._drives_api.api226_drives_get_with_http_info + _process_references(references, ['names'], kwargs) + return self._call_api(endpoint, kwargs) + + def patch_drives( + self, + authorization=None, # type: str + x_request_id=None, # type: str + admit=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.DriveResponse + """ + Modifies flash and NVRAM modules that have been added or connected but not yet + admitted to the array. + + Args: + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + admit (bool, optional): + If `true`, admits any `unadmitted` drives into the system. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + admit=admit, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._drives_api.api226_drives_patch_with_http_info + return self._call_api(endpoint, kwargs) + + def delete_file_systems( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + ids=None, # type: List[str] + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """ + Deletes a file system that has been destroyed and is pending eradication. + Eradicated file systems cannot be recovered. File systems are destroyed using + the PATCH method. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides ids and names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + ids (list[str], optional): + Performs the operation on the unique resource IDs specified. Enter multiple + resource IDs in comma-separated format. The `ids` or `names` parameter is + required, but they cannot be set together. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + ids=ids, + names=names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._file_systems_api.api226_file_systems_delete_with_http_info + _process_references(references, ['ids', 'names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_file_systems( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + destroyed=None, # type: bool + filter=None, # type: str + ids=None, # type: List[str] + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.FileSystemGetResponse + """ + Displays a list of file systems, including those pending eradication. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides ids and names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + continuation_token (str, optional): + An opaque token to iterate over a collection of resources. + destroyed (bool, optional): + If set to `true`, lists only destroyed objects that are in the eradication + pending state. If set to `false`, lists only objects that are not destroyed. For + destroyed objects, the time remaining is displayed in milliseconds. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + ids (list[str], optional): + Performs the operation on the unique resource IDs specified. Enter multiple + resource IDs in comma-separated format. The `ids` or `names` parameter is + required, but they cannot be set together. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + continuation_token=continuation_token, + destroyed=destroyed, + filter=filter, + ids=ids, + limit=limit, + names=names, + offset=offset, + sort=sort, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._file_systems_api.api226_file_systems_get_with_http_info + _process_references(references, ['ids', 'names'], kwargs) + return self._call_api(endpoint, kwargs) + + def patch_file_systems( + self, + references=None, # type: List[models.ReferenceType] + file_system=None, # type: models.FileSystemPatch + authorization=None, # type: str + x_request_id=None, # type: str + ids=None, # type: List[str] + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.FileSystemResponse + """ + Modifies a file system. You can rename, destroy, move, or recover a file system. + To rename a file system, set `name` to the new name. To destroy a file system, + set `destroyed=true`. To move a file system, set 'pod' to the destination pod + reference. To recover a file system that has been destroyed and is pending + eradication, set `destroyed=false`. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides ids and names keyword arguments. + + file_system (FileSystemPatch, required): + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + ids (list[str], optional): + Performs the operation on the unique resource IDs specified. Enter multiple + resource IDs in comma-separated format. The `ids` or `names` parameter is + required, but they cannot be set together. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + file_system=file_system, + authorization=authorization, + x_request_id=x_request_id, + ids=ids, + names=names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._file_systems_api.api226_file_systems_patch_with_http_info + _process_references(references, ['ids', 'names'], kwargs) + return self._call_api(endpoint, kwargs) + + def post_file_systems( + self, + references=None, # type: List[models.ReferenceType] + names=None, # type: List[str] + authorization=None, # type: str + x_request_id=None, # type: str + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.FileSystemResponse + """ + Creates one or more file systems. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names keyword arguments. + + names (list[str], required): + Performs the operation on the unique name specified. For example, `name01`. + Enter multiple names in comma-separated format. + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + names=names, + authorization=authorization, + x_request_id=x_request_id, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._file_systems_api.api226_file_systems_post_with_http_info + _process_references(references, ['names'], kwargs) + return self._call_api(endpoint, kwargs) + + def post_files( + self, + directories=None, # type: List[models.ReferenceType] + source_file=None, # type: models.FilePost + authorization=None, # type: str + x_request_id=None, # type: str + directory_ids=None, # type: List[str] + directory_names=None, # type: List[str] + paths=None, # type: List[str] + overwrite=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """ + Creates a file copy from one path to another path. The `directory_ids`, + `directory_names` or `paths` value must be specified. If the `directory_ids` or + `directory_names` value is not specified, the file is copied to the source + directory specified in the body params. The `paths` value refers to the path of + the target file relative to the target directory. If `paths` value is not + specified, the file will be copied to the relative path specified in + `source_path` under the target directory. The `source_path` value refers to the + path of the source file relative to the source directory. To overwrite an + existing file, set the `overwrite` flag to `true`. + + Args: + directories (list[FixedReference], optional): + A list of directories to query for. Overrides directory_ids and directory_names keyword arguments. + + source_file (FilePost, required): + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + directory_ids (list[str], optional): + Performs the operation on the unique managed directory IDs specified. Enter + multiple managed directory IDs in comma-separated format. The `directory_ids` or + `directory_names` parameter is required, but they cannot be set together. + directory_names (list[str], optional): + Performs the operation on the managed directory names specified. Enter multiple + full managed directory names in comma-separated format. For example, + `fs:dir01,fs:dir02`. + paths (list[str], optional): + Target file path relative to the target directory. Enter multiple target file + path in a comma-separated format. For example, + `/dir1/dir2/file1,/dir3/dir4/file2`. + overwrite (bool, optional): + If set to `true`, overwrites an existing object during an object copy operation. + If set to `false` or not set at all and the target name is an existing object, + the copy operation fails. Required if the `source` body parameter is set and the + source overwrites an existing object during the copy operation. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + source_file=source_file, + authorization=authorization, + x_request_id=x_request_id, + directory_ids=directory_ids, + directory_names=directory_names, + paths=paths, + overwrite=overwrite, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._files_api.api226_files_post_with_http_info + _process_references(directories, ['directory_ids', 'directory_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_hardware( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + filter=None, # type: str + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.HardwareGetResponse + """ + Displays a list of hardware slots and bays and status of installed components. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + filter=filter, + limit=limit, + names=names, + offset=offset, + sort=sort, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._hardware_api.api226_hardware_get_with_http_info + _process_references(references, ['names'], kwargs) + return self._call_api(endpoint, kwargs) + + def patch_hardware( + self, + references=None, # type: List[models.ReferenceType] + hardware=None, # type: models.HardwarePatch + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.HardwareResponse + """ + Modifies the visual identification of a specified hardware component, and + causing the ID LED to turn on or off. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names keyword arguments. + + hardware (HardwarePatch, required): + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + hardware=hardware, + authorization=authorization, + x_request_id=x_request_id, + names=names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._hardware_api.api226_hardware_patch_with_http_info + _process_references(references, ['names'], kwargs) + return self._call_api(endpoint, kwargs) + + def delete_host_groups( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """ + Deletes a host group. The `names` query parameter is required. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + names=names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._host_groups_api.api226_host_groups_delete_with_http_info + _process_references(references, ['names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_host_groups( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + filter=None, # type: str + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.HostGroupGetResponse + """ + Displays a list of host groups. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + continuation_token (str, optional): + An opaque token to iterate over a collection of resources. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + continuation_token=continuation_token, + filter=filter, + limit=limit, + names=names, + offset=offset, + sort=sort, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._host_groups_api.api226_host_groups_get_with_http_info + _process_references(references, ['names'], kwargs) + return self._call_api(endpoint, kwargs) + + def delete_host_groups_hosts( + self, + groups=None, # type: List[models.ReferenceType] + members=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + group_names=None, # type: List[str] + member_names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """ + Removes a host from a host group. Removing a host from a host group + automatically disconnects the host from all volumes associated with the group. + Hosts can be removed from host groups at any time. The `group_names` and + `member_names` parameters are required and must be set together, and only one + host group can be specified at a time. + + Args: + groups (list[FixedReference], optional): + A list of groups to query for. Overrides group_names keyword arguments. + members (list[FixedReference], optional): + A list of members to query for. Overrides member_names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + group_names (list[str], optional): + Performs the operation on the unique group name specified. Examples of groups + include host groups, pods, protection groups, and volume groups. Enter multiple + names in comma-separated format. For example, `hgroup01,hgroup02`. + member_names (list[str], optional): + Performs the operation on the unique member name specified. Examples of members + include volumes, hosts, host groups, and directories. Enter multiple names in + comma-separated format. For example, `vol01,vol02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + group_names=group_names, + member_names=member_names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._host_groups_api.api226_host_groups_hosts_delete_with_http_info + _process_references(groups, ['group_names'], kwargs) + _process_references(members, ['member_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_host_groups_hosts( + self, + groups=None, # type: List[models.ReferenceType] + members=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + filter=None, # type: str + group_names=None, # type: List[str] + limit=None, # type: int + member_names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.MemberNoIdAllGetResponse + """ + Returns a list of host groups that are associated with hosts. + + Args: + groups (list[FixedReference], optional): + A list of groups to query for. Overrides group_names keyword arguments. + members (list[FixedReference], optional): + A list of members to query for. Overrides member_names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + continuation_token (str, optional): + An opaque token to iterate over a collection of resources. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + group_names (list[str], optional): + Performs the operation on the unique group name specified. Examples of groups + include host groups, pods, protection groups, and volume groups. Enter multiple + names in comma-separated format. For example, `hgroup01,hgroup02`. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + member_names (list[str], optional): + Performs the operation on the unique member name specified. Examples of members + include volumes, hosts, host groups, and directories. Enter multiple names in + comma-separated format. For example, `vol01,vol02`. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + continuation_token=continuation_token, + filter=filter, + group_names=group_names, + limit=limit, + member_names=member_names, + offset=offset, + sort=sort, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._host_groups_api.api226_host_groups_hosts_get_with_http_info + _process_references(groups, ['group_names'], kwargs) + _process_references(members, ['member_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def post_host_groups_hosts( + self, + groups=None, # type: List[models.ReferenceType] + members=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + group_names=None, # type: List[str] + member_names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.MemberNoIdAllResponse + """ + Adds a host to a host group. Adding a host to a host group automatically + connects the host to all volumes associated with the group. Multiple hosts can + be belong to a host group, but a host can only belong to one host group. Hosts + can be added to host groups at any time. The `group_names` and `member_names` + parameters are required and must be set together, and only one host group can be + specified at a time. + + Args: + groups (list[FixedReference], optional): + A list of groups to query for. Overrides group_names keyword arguments. + members (list[FixedReference], optional): + A list of members to query for. Overrides member_names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + group_names (list[str], optional): + Performs the operation on the unique group name specified. Examples of groups + include host groups, pods, protection groups, and volume groups. Enter multiple + names in comma-separated format. For example, `hgroup01,hgroup02`. + member_names (list[str], optional): + Performs the operation on the unique member name specified. Examples of members + include volumes, hosts, host groups, and directories. Enter multiple names in + comma-separated format. For example, `vol01,vol02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + group_names=group_names, + member_names=member_names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._host_groups_api.api226_host_groups_hosts_post_with_http_info + _process_references(groups, ['group_names'], kwargs) + _process_references(members, ['member_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def patch_host_groups( + self, + references=None, # type: List[models.ReferenceType] + host_group=None, # type: models.HostGroupPatch + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.HostGroupResponse + """ + Modifies a host group. The `names` query parameter is required. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names keyword arguments. + + host_group (HostGroupPatch, required): + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + host_group=host_group, + authorization=authorization, + x_request_id=x_request_id, + names=names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._host_groups_api.api226_host_groups_patch_with_http_info + _process_references(references, ['names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_host_groups_performance_by_array( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + filter=None, # type: str + end_time=None, # type: int + resolution=None, # type: int + start_time=None, # type: int + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + total_only=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.ResourcePerformanceNoIdByArrayGetResponse + """ + Displays real-time and historical performance data, real-time latency data, and + average I/O size data. The data is displayed by total size across all host + groups on each array and by individual host group on each array. The displayed + data represents the volumes that are connected to a host group on the current + array and the volumes that are connected to a host group on any remote arrays + that are visible to the current array. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + end_time (int, optional): + Displays historical performance data for the specified time window, where + `start_time` is the beginning of the time window, and `end_time` is the end of + the time window. The `start_time` and `end_time` parameters are specified in + milliseconds since the UNIX epoch. If `start_time` is not specified, the start + time will default to one resolution before the end time, meaning that the most + recent sample of performance data will be displayed. If `end_time`is not + specified, the end time will default to the current time. Include the + `resolution` parameter to display the performance data at the specified + resolution. If not specified, `resolution` defaults to the lowest valid + resolution. + resolution (int, optional): + The number of milliseconds between samples of historical data. For array-wide + performance metrics (`/arrays/performance` endpoint), valid values are `1000` (1 + second), `30000` (30 seconds), `300000` (5 minutes), `1800000` (30 minutes), + `7200000` (2 hours), `28800000` (8 hours), and `86400000` (24 hours). For + performance metrics on storage objects (`/performance` endpoint), + such as volumes, valid values are `30000` (30 seconds), `300000` (5 minutes), + `1800000` (30 minutes), `7200000` (2 hours), `28800000` (8 hours), and + `86400000` (24 hours). For space metrics, (`/space` endpoint), + valid values are `300000` (5 minutes), `1800000` (30 minutes), `7200000` (2 + hours), `28800000` (8 hours), and `86400000` (24 hours). Include the + `start_time` parameter to display the performance data starting at the specified + start time. If `start_time` is not specified, the start time will default to one + resolution before the end time, meaning that the most recent sample of + performance data will be displayed. Include the `end_time` parameter to display + the performance data until the specified end time. If `end_time`is not + specified, the end time will default to the current time. If the `resolution` + parameter is not specified but either the `start_time` or `end_time` parameter + is, then `resolution` will default to the lowest valid resolution. + start_time (int, optional): + Displays historical performance data for the specified time window, where + `start_time` is the beginning of the time window, and `end_time` is the end of + the time window. The `start_time` and `end_time` parameters are specified in + milliseconds since the UNIX epoch. If `start_time` is not specified, the start + time will default to one resolution before the end time, meaning that the most + recent sample of performance data will be displayed. If `end_time`is not + specified, the end time will default to the current time. Include the + `resolution` parameter to display the performance data at the specified + resolution. If not specified, `resolution` defaults to the lowest valid + resolution. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + total_only (bool, optional): + If set to `true`, returns the aggregate value of all items after filtering. + Where it makes more sense, the average value is displayed instead. The values + are displayed for each name where meaningful. If `total_only=true`, the `items` + list will be empty. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + filter=filter, + end_time=end_time, + resolution=resolution, + start_time=start_time, + limit=limit, + names=names, + offset=offset, + sort=sort, + total_item_count=total_item_count, + total_only=total_only, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._host_groups_api.api226_host_groups_performance_by_array_get_with_http_info + _process_references(references, ['names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_host_groups_performance( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + filter=None, # type: str + end_time=None, # type: int + resolution=None, # type: int + start_time=None, # type: int + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + total_only=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.ResourcePerformanceNoIdGetResponse + """ + Displays real-time and historical performance data, real-time latency data, and + average I/O sizes of all host groups, displayed both by host group and by total + size across all host groups. This data represents volumes that are connected to + the host groups on the local array and stretched volumes connected to the host + groups on arrays that are connected by synchronous replication. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + end_time (int, optional): + Displays historical performance data for the specified time window, where + `start_time` is the beginning of the time window, and `end_time` is the end of + the time window. The `start_time` and `end_time` parameters are specified in + milliseconds since the UNIX epoch. If `start_time` is not specified, the start + time will default to one resolution before the end time, meaning that the most + recent sample of performance data will be displayed. If `end_time`is not + specified, the end time will default to the current time. Include the + `resolution` parameter to display the performance data at the specified + resolution. If not specified, `resolution` defaults to the lowest valid + resolution. + resolution (int, optional): + The number of milliseconds between samples of historical data. For array-wide + performance metrics (`/arrays/performance` endpoint), valid values are `1000` (1 + second), `30000` (30 seconds), `300000` (5 minutes), `1800000` (30 minutes), + `7200000` (2 hours), `28800000` (8 hours), and `86400000` (24 hours). For + performance metrics on storage objects (`/performance` endpoint), + such as volumes, valid values are `30000` (30 seconds), `300000` (5 minutes), + `1800000` (30 minutes), `7200000` (2 hours), `28800000` (8 hours), and + `86400000` (24 hours). For space metrics, (`/space` endpoint), + valid values are `300000` (5 minutes), `1800000` (30 minutes), `7200000` (2 + hours), `28800000` (8 hours), and `86400000` (24 hours). Include the + `start_time` parameter to display the performance data starting at the specified + start time. If `start_time` is not specified, the start time will default to one + resolution before the end time, meaning that the most recent sample of + performance data will be displayed. Include the `end_time` parameter to display + the performance data until the specified end time. If `end_time`is not + specified, the end time will default to the current time. If the `resolution` + parameter is not specified but either the `start_time` or `end_time` parameter + is, then `resolution` will default to the lowest valid resolution. + start_time (int, optional): + Displays historical performance data for the specified time window, where + `start_time` is the beginning of the time window, and `end_time` is the end of + the time window. The `start_time` and `end_time` parameters are specified in + milliseconds since the UNIX epoch. If `start_time` is not specified, the start + time will default to one resolution before the end time, meaning that the most + recent sample of performance data will be displayed. If `end_time`is not + specified, the end time will default to the current time. Include the + `resolution` parameter to display the performance data at the specified + resolution. If not specified, `resolution` defaults to the lowest valid + resolution. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + total_only (bool, optional): + If set to `true`, returns the aggregate value of all items after filtering. + Where it makes more sense, the average value is displayed instead. The values + are displayed for each name where meaningful. If `total_only=true`, the `items` + list will be empty. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + filter=filter, + end_time=end_time, + resolution=resolution, + start_time=start_time, + limit=limit, + names=names, + offset=offset, + sort=sort, + total_item_count=total_item_count, + total_only=total_only, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._host_groups_api.api226_host_groups_performance_get_with_http_info + _process_references(references, ['names'], kwargs) + return self._call_api(endpoint, kwargs) + + def post_host_groups( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.HostGroupResponse + """ + Creates a host group. The `names` query parameter is required. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + names=names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._host_groups_api.api226_host_groups_post_with_http_info + _process_references(references, ['names'], kwargs) + return self._call_api(endpoint, kwargs) + + def delete_host_groups_protection_groups( + self, + groups=None, # type: List[models.ReferenceType] + members=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + group_ids=None, # type: List[str] + group_names=None, # type: List[str] + member_names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """ + Deletes a host group member from a protection group. After the member has been + removed, it is no longer protected by the group. Any protection group snapshots + that were taken before the member was removed are not affected. Removing a + member from a protection group does not delete the member from the array, and + the member can be added back to the protection group at any time. The + `group_names` parameter represents the name of the protection group, and the + `member_names` parameter represents the name of the host group. The + `group_names` and `member_names` parameters are required and must be set + together. + + Args: + groups (list[FixedReference], optional): + A list of groups to query for. Overrides group_ids and group_names keyword arguments. + members (list[FixedReference], optional): + A list of members to query for. Overrides member_names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + group_ids (list[str], optional): + A list of group IDs. + group_names (list[str], optional): + Performs the operation on the unique group name specified. Examples of groups + include host groups, pods, protection groups, and volume groups. Enter multiple + names in comma-separated format. For example, `hgroup01,hgroup02`. + member_names (list[str], optional): + Performs the operation on the unique member name specified. Examples of members + include volumes, hosts, host groups, and directories. Enter multiple names in + comma-separated format. For example, `vol01,vol02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + group_ids=group_ids, + group_names=group_names, + member_names=member_names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._host_groups_api.api226_host_groups_protection_groups_delete_with_http_info + _process_references(groups, ['group_ids', 'group_names'], kwargs) + _process_references(members, ['member_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_host_groups_protection_groups( + self, + groups=None, # type: List[models.ReferenceType] + members=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + filter=None, # type: str + group_ids=None, # type: List[str] + group_names=None, # type: List[str] + limit=None, # type: int + member_names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.MemberNoIdMemberGetResponse + """ + Displays a list of host group members that belong to one or more protection + groups. + + Args: + groups (list[FixedReference], optional): + A list of groups to query for. Overrides group_ids and group_names keyword arguments. + members (list[FixedReference], optional): + A list of members to query for. Overrides member_names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + continuation_token (str, optional): + An opaque token to iterate over a collection of resources. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + group_ids (list[str], optional): + A list of group IDs. + group_names (list[str], optional): + Performs the operation on the unique group name specified. Examples of groups + include host groups, pods, protection groups, and volume groups. Enter multiple + names in comma-separated format. For example, `hgroup01,hgroup02`. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + member_names (list[str], optional): + Performs the operation on the unique member name specified. Examples of members + include volumes, hosts, host groups, and directories. Enter multiple names in + comma-separated format. For example, `vol01,vol02`. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + continuation_token=continuation_token, + filter=filter, + group_ids=group_ids, + group_names=group_names, + limit=limit, + member_names=member_names, + offset=offset, + sort=sort, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._host_groups_api.api226_host_groups_protection_groups_get_with_http_info + _process_references(groups, ['group_ids', 'group_names'], kwargs) + _process_references(members, ['member_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def post_host_groups_protection_groups( + self, + groups=None, # type: List[models.ReferenceType] + members=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + group_ids=None, # type: List[str] + group_names=None, # type: List[str] + member_names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.MemberNoIdMemberResponse + """ + Creates a host group member and assigns to a protection group. Members that are + already in the protection group are not affected. For asynchronous replication, + only members of the same type can belong to a protection group. The + `group_names` parameter represents the name of the protection group, and the + `member_names` parameter represents the name of the host group. The + `group_names` and `member_names` parameters are required and must be set + together. + + Args: + groups (list[FixedReference], optional): + A list of groups to query for. Overrides group_ids and group_names keyword arguments. + members (list[FixedReference], optional): + A list of members to query for. Overrides member_names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + group_ids (list[str], optional): + A list of group IDs. + group_names (list[str], optional): + Performs the operation on the unique group name specified. Examples of groups + include host groups, pods, protection groups, and volume groups. Enter multiple + names in comma-separated format. For example, `hgroup01,hgroup02`. + member_names (list[str], optional): + Performs the operation on the unique member name specified. Examples of members + include volumes, hosts, host groups, and directories. Enter multiple names in + comma-separated format. For example, `vol01,vol02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + group_ids=group_ids, + group_names=group_names, + member_names=member_names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._host_groups_api.api226_host_groups_protection_groups_post_with_http_info + _process_references(groups, ['group_ids', 'group_names'], kwargs) + _process_references(members, ['member_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_host_groups_space( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + filter=None, # type: str + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.ResourceSpaceNoIdGetResponse + """ + Displays provisioned size and physical storage consumption data for each host + group. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + filter=filter, + limit=limit, + names=names, + offset=offset, + sort=sort, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._host_groups_api.api226_host_groups_space_get_with_http_info + _process_references(references, ['names'], kwargs) + return self._call_api(endpoint, kwargs) + + def delete_hosts( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """ + Deletes an existing host. All volumes that are connected to the host, either + through private or shared connections, must be disconnected from the host before + the host can be deleted. The `names` query parameter is required. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + names=names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._hosts_api.api226_hosts_delete_with_http_info + _process_references(references, ['names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_hosts( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + filter=None, # type: str + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.HostGetResponse + """ + Displays a list of hosts. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + continuation_token (str, optional): + An opaque token to iterate over a collection of resources. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + continuation_token=continuation_token, + filter=filter, + limit=limit, + names=names, + offset=offset, + sort=sort, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._hosts_api.api226_hosts_get_with_http_info + _process_references(references, ['names'], kwargs) + return self._call_api(endpoint, kwargs) + + def delete_hosts_host_groups( + self, + groups=None, # type: List[models.ReferenceType] + members=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + group_names=None, # type: List[str] + member_names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """ + Removes a host from a host group. Removing a host from a host group + automatically disconnects the host from all volumes associated with the group. + Hosts can be removed from host groups at any time. The `group_names` and + `member_names` parameters are required and must be set together, and only one + host group can be specified at a time. + + Args: + groups (list[FixedReference], optional): + A list of groups to query for. Overrides group_names keyword arguments. + members (list[FixedReference], optional): + A list of members to query for. Overrides member_names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + group_names (list[str], optional): + Performs the operation on the unique group name specified. Examples of groups + include host groups, pods, protection groups, and volume groups. Enter multiple + names in comma-separated format. For example, `hgroup01,hgroup02`. + member_names (list[str], optional): + Performs the operation on the unique member name specified. Examples of members + include volumes, hosts, host groups, and directories. Enter multiple names in + comma-separated format. For example, `vol01,vol02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + group_names=group_names, + member_names=member_names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._hosts_api.api226_hosts_host_groups_delete_with_http_info + _process_references(groups, ['group_names'], kwargs) + _process_references(members, ['member_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_hosts_host_groups( + self, + groups=None, # type: List[models.ReferenceType] + members=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + filter=None, # type: str + group_names=None, # type: List[str] + limit=None, # type: int + member_names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.MemberNoIdAllGetResponse + """ + Returns a list of hosts that are associated with host groups. + + Args: + groups (list[FixedReference], optional): + A list of groups to query for. Overrides group_names keyword arguments. + members (list[FixedReference], optional): + A list of members to query for. Overrides member_names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + continuation_token (str, optional): + An opaque token to iterate over a collection of resources. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + group_names (list[str], optional): + Performs the operation on the unique group name specified. Examples of groups + include host groups, pods, protection groups, and volume groups. Enter multiple + names in comma-separated format. For example, `hgroup01,hgroup02`. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + member_names (list[str], optional): + Performs the operation on the unique member name specified. Examples of members + include volumes, hosts, host groups, and directories. Enter multiple names in + comma-separated format. For example, `vol01,vol02`. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + continuation_token=continuation_token, + filter=filter, + group_names=group_names, + limit=limit, + member_names=member_names, + offset=offset, + sort=sort, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._hosts_api.api226_hosts_host_groups_get_with_http_info + _process_references(groups, ['group_names'], kwargs) + _process_references(members, ['member_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def post_hosts_host_groups( + self, + groups=None, # type: List[models.ReferenceType] + members=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + group_names=None, # type: List[str] + member_names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.MemberNoIdAllResponse + """ + Adds a host to a host group. Adding a host to a host group automatically + connects the host to all volumes associated with the group. Multiple hosts can + be belong to a host group, but a host can only belong to one host group. Hosts + can be added to host groups at any time. The `group_names` and `member_names` + parameters are required and must be set together, and only one host group can be + specified at a time. + + Args: + groups (list[FixedReference], optional): + A list of groups to query for. Overrides group_names keyword arguments. + members (list[FixedReference], optional): + A list of members to query for. Overrides member_names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + group_names (list[str], optional): + Performs the operation on the unique group name specified. Examples of groups + include host groups, pods, protection groups, and volume groups. Enter multiple + names in comma-separated format. For example, `hgroup01,hgroup02`. + member_names (list[str], optional): + Performs the operation on the unique member name specified. Examples of members + include volumes, hosts, host groups, and directories. Enter multiple names in + comma-separated format. For example, `vol01,vol02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + group_names=group_names, + member_names=member_names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._hosts_api.api226_hosts_host_groups_post_with_http_info + _process_references(groups, ['group_names'], kwargs) + _process_references(members, ['member_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def patch_hosts( + self, + references=None, # type: List[models.ReferenceType] + host=None, # type: models.HostPatch + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.HostResponse + """ + Modifies an existing host, including its storage network addresses, CHAP, host + personality, and preferred arrays, or associate a host to a host group. The + `names` query parameter is required. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names keyword arguments. + + host (HostPatch, required): + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + host=host, + authorization=authorization, + x_request_id=x_request_id, + names=names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._hosts_api.api226_hosts_patch_with_http_info + _process_references(references, ['names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_hosts_performance_balance( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + filter=None, # type: str + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.HostPerformanceBalanceGetResponse + """ + Displays the I/O balance statistics for host paths. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + filter=filter, + limit=limit, + names=names, + offset=offset, + sort=sort, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._hosts_api.api226_hosts_performance_balance_get_with_http_info + _process_references(references, ['names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_hosts_performance_by_array( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + filter=None, # type: str + end_time=None, # type: int + resolution=None, # type: int + start_time=None, # type: int + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + total_only=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.ResourcePerformanceNoIdByArrayGetResponse + """ + Displays real-time and historical performance data, real-time latency data, and + average I/O size data. The data is displayed by total size across all hosts on + each array and by individual host on each array. The displayed data represents + the volumes that are connected to a host on the current array and the volumes + that are connected to a host on any remote arrays that are visible to the + current array. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + end_time (int, optional): + Displays historical performance data for the specified time window, where + `start_time` is the beginning of the time window, and `end_time` is the end of + the time window. The `start_time` and `end_time` parameters are specified in + milliseconds since the UNIX epoch. If `start_time` is not specified, the start + time will default to one resolution before the end time, meaning that the most + recent sample of performance data will be displayed. If `end_time`is not + specified, the end time will default to the current time. Include the + `resolution` parameter to display the performance data at the specified + resolution. If not specified, `resolution` defaults to the lowest valid + resolution. + resolution (int, optional): + The number of milliseconds between samples of historical data. For array-wide + performance metrics (`/arrays/performance` endpoint), valid values are `1000` (1 + second), `30000` (30 seconds), `300000` (5 minutes), `1800000` (30 minutes), + `7200000` (2 hours), `28800000` (8 hours), and `86400000` (24 hours). For + performance metrics on storage objects (`/performance` endpoint), + such as volumes, valid values are `30000` (30 seconds), `300000` (5 minutes), + `1800000` (30 minutes), `7200000` (2 hours), `28800000` (8 hours), and + `86400000` (24 hours). For space metrics, (`/space` endpoint), + valid values are `300000` (5 minutes), `1800000` (30 minutes), `7200000` (2 + hours), `28800000` (8 hours), and `86400000` (24 hours). Include the + `start_time` parameter to display the performance data starting at the specified + start time. If `start_time` is not specified, the start time will default to one + resolution before the end time, meaning that the most recent sample of + performance data will be displayed. Include the `end_time` parameter to display + the performance data until the specified end time. If `end_time`is not + specified, the end time will default to the current time. If the `resolution` + parameter is not specified but either the `start_time` or `end_time` parameter + is, then `resolution` will default to the lowest valid resolution. + start_time (int, optional): + Displays historical performance data for the specified time window, where + `start_time` is the beginning of the time window, and `end_time` is the end of + the time window. The `start_time` and `end_time` parameters are specified in + milliseconds since the UNIX epoch. If `start_time` is not specified, the start + time will default to one resolution before the end time, meaning that the most + recent sample of performance data will be displayed. If `end_time`is not + specified, the end time will default to the current time. Include the + `resolution` parameter to display the performance data at the specified + resolution. If not specified, `resolution` defaults to the lowest valid + resolution. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + total_only (bool, optional): + If set to `true`, returns the aggregate value of all items after filtering. + Where it makes more sense, the average value is displayed instead. The values + are displayed for each name where meaningful. If `total_only=true`, the `items` + list will be empty. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + filter=filter, + end_time=end_time, + resolution=resolution, + start_time=start_time, + limit=limit, + names=names, + offset=offset, + sort=sort, + total_item_count=total_item_count, + total_only=total_only, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._hosts_api.api226_hosts_performance_by_array_get_with_http_info + _process_references(references, ['names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_hosts_performance( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + filter=None, # type: str + end_time=None, # type: int + resolution=None, # type: int + start_time=None, # type: int + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + total_only=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.ResourcePerformanceNoIdGetResponse + """ + Displays real-time and historical performance data, real-time latency data, and + average I/O sizes across all hosts, displayed by host and by total size across + all hosts. This data represents volumes that are connected to the hosts on the + local array and stretched volumes connected to the hosts on any arrays that are + connected by synchronous replication. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + end_time (int, optional): + Displays historical performance data for the specified time window, where + `start_time` is the beginning of the time window, and `end_time` is the end of + the time window. The `start_time` and `end_time` parameters are specified in + milliseconds since the UNIX epoch. If `start_time` is not specified, the start + time will default to one resolution before the end time, meaning that the most + recent sample of performance data will be displayed. If `end_time`is not + specified, the end time will default to the current time. Include the + `resolution` parameter to display the performance data at the specified + resolution. If not specified, `resolution` defaults to the lowest valid + resolution. + resolution (int, optional): + The number of milliseconds between samples of historical data. For array-wide + performance metrics (`/arrays/performance` endpoint), valid values are `1000` (1 + second), `30000` (30 seconds), `300000` (5 minutes), `1800000` (30 minutes), + `7200000` (2 hours), `28800000` (8 hours), and `86400000` (24 hours). For + performance metrics on storage objects (`/performance` endpoint), + such as volumes, valid values are `30000` (30 seconds), `300000` (5 minutes), + `1800000` (30 minutes), `7200000` (2 hours), `28800000` (8 hours), and + `86400000` (24 hours). For space metrics, (`/space` endpoint), + valid values are `300000` (5 minutes), `1800000` (30 minutes), `7200000` (2 + hours), `28800000` (8 hours), and `86400000` (24 hours). Include the + `start_time` parameter to display the performance data starting at the specified + start time. If `start_time` is not specified, the start time will default to one + resolution before the end time, meaning that the most recent sample of + performance data will be displayed. Include the `end_time` parameter to display + the performance data until the specified end time. If `end_time`is not + specified, the end time will default to the current time. If the `resolution` + parameter is not specified but either the `start_time` or `end_time` parameter + is, then `resolution` will default to the lowest valid resolution. + start_time (int, optional): + Displays historical performance data for the specified time window, where + `start_time` is the beginning of the time window, and `end_time` is the end of + the time window. The `start_time` and `end_time` parameters are specified in + milliseconds since the UNIX epoch. If `start_time` is not specified, the start + time will default to one resolution before the end time, meaning that the most + recent sample of performance data will be displayed. If `end_time`is not + specified, the end time will default to the current time. Include the + `resolution` parameter to display the performance data at the specified + resolution. If not specified, `resolution` defaults to the lowest valid + resolution. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + total_only (bool, optional): + If set to `true`, returns the aggregate value of all items after filtering. + Where it makes more sense, the average value is displayed instead. The values + are displayed for each name where meaningful. If `total_only=true`, the `items` + list will be empty. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + filter=filter, + end_time=end_time, + resolution=resolution, + start_time=start_time, + limit=limit, + names=names, + offset=offset, + sort=sort, + total_item_count=total_item_count, + total_only=total_only, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._hosts_api.api226_hosts_performance_get_with_http_info + _process_references(references, ['names'], kwargs) + return self._call_api(endpoint, kwargs) + + def post_hosts( + self, + references=None, # type: List[models.ReferenceType] + host=None, # type: models.HostPost + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.HostResponse + """ + Creates a host. The `names` query parameter is required. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names keyword arguments. + + host (HostPost, required): + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + host=host, + authorization=authorization, + x_request_id=x_request_id, + names=names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._hosts_api.api226_hosts_post_with_http_info + _process_references(references, ['names'], kwargs) + return self._call_api(endpoint, kwargs) + + def delete_hosts_protection_groups( + self, + groups=None, # type: List[models.ReferenceType] + members=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + group_ids=None, # type: List[str] + group_names=None, # type: List[str] + member_names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """ + Deletes a host member from a protection group. After the member has been + removed, it is no longer protected by the group. Any protection group snapshots + that were taken before the member was removed are not affected. Removing a + member from a protection group does not delete the member from the array, and + the member can be added back to the protection group at any time. The + `group_names` parameter represents the name of the protection group, and the + `member_names` parameter represents the name of the host. The `group_names` and + `member_names` parameters are required and must be set together. + + Args: + groups (list[FixedReference], optional): + A list of groups to query for. Overrides group_ids and group_names keyword arguments. + members (list[FixedReference], optional): + A list of members to query for. Overrides member_names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + group_ids (list[str], optional): + A list of group IDs. + group_names (list[str], optional): + Performs the operation on the unique group name specified. Examples of groups + include host groups, pods, protection groups, and volume groups. Enter multiple + names in comma-separated format. For example, `hgroup01,hgroup02`. + member_names (list[str], optional): + Performs the operation on the unique member name specified. Examples of members + include volumes, hosts, host groups, and directories. Enter multiple names in + comma-separated format. For example, `vol01,vol02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + group_ids=group_ids, + group_names=group_names, + member_names=member_names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._hosts_api.api226_hosts_protection_groups_delete_with_http_info + _process_references(groups, ['group_ids', 'group_names'], kwargs) + _process_references(members, ['member_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_hosts_protection_groups( + self, + groups=None, # type: List[models.ReferenceType] + members=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + filter=None, # type: str + group_ids=None, # type: List[str] + group_names=None, # type: List[str] + limit=None, # type: int + member_names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.MemberNoIdMemberGetResponse + """ + Displays a list of host members that belong to one or more protection groups. + + Args: + groups (list[FixedReference], optional): + A list of groups to query for. Overrides group_ids and group_names keyword arguments. + members (list[FixedReference], optional): + A list of members to query for. Overrides member_names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + continuation_token (str, optional): + An opaque token to iterate over a collection of resources. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + group_ids (list[str], optional): + A list of group IDs. + group_names (list[str], optional): + Performs the operation on the unique group name specified. Examples of groups + include host groups, pods, protection groups, and volume groups. Enter multiple + names in comma-separated format. For example, `hgroup01,hgroup02`. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + member_names (list[str], optional): + Performs the operation on the unique member name specified. Examples of members + include volumes, hosts, host groups, and directories. Enter multiple names in + comma-separated format. For example, `vol01,vol02`. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + continuation_token=continuation_token, + filter=filter, + group_ids=group_ids, + group_names=group_names, + limit=limit, + member_names=member_names, + offset=offset, + sort=sort, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._hosts_api.api226_hosts_protection_groups_get_with_http_info + _process_references(groups, ['group_ids', 'group_names'], kwargs) + _process_references(members, ['member_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def post_hosts_protection_groups( + self, + groups=None, # type: List[models.ReferenceType] + members=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + group_ids=None, # type: List[str] + group_names=None, # type: List[str] + member_names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.MemberNoIdMemberResponse + """ + Creates a host member and adds it to a protection group. Members that are + already in the protection group are not affected. For asynchronous replication, + only members of the same type can belong to a protection group. The + `group_names` parameter represents the name of the protection group, and the + `member_names` parameter represents the name of the host. The `group_names` and + `member_names` parameters are required and must be set together. + + Args: + groups (list[FixedReference], optional): + A list of groups to query for. Overrides group_ids and group_names keyword arguments. + members (list[FixedReference], optional): + A list of members to query for. Overrides member_names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + group_ids (list[str], optional): + A list of group IDs. + group_names (list[str], optional): + Performs the operation on the unique group name specified. Examples of groups + include host groups, pods, protection groups, and volume groups. Enter multiple + names in comma-separated format. For example, `hgroup01,hgroup02`. + member_names (list[str], optional): + Performs the operation on the unique member name specified. Examples of members + include volumes, hosts, host groups, and directories. Enter multiple names in + comma-separated format. For example, `vol01,vol02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + group_ids=group_ids, + group_names=group_names, + member_names=member_names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._hosts_api.api226_hosts_protection_groups_post_with_http_info + _process_references(groups, ['group_ids', 'group_names'], kwargs) + _process_references(members, ['member_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_hosts_space( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + filter=None, # type: str + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.ResourceSpaceNoIdGetResponse + """ + Displays provisioned size and physical storage consumption data for each host. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + filter=filter, + limit=limit, + names=names, + offset=offset, + sort=sort, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._hosts_api.api226_hosts_space_get_with_http_info + _process_references(references, ['names'], kwargs) + return self._call_api(endpoint, kwargs) + + def delete_kmip( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """ + Deletes KMIP server objects. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + names=names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._kmip_api.api226_kmip_delete_with_http_info + _process_references(references, ['names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_kmip( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + filter=None, # type: str + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.KmipGetResponse + """ + Displays the list of KMIP server objects. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + continuation_token (str, optional): + An opaque token to iterate over a collection of resources. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + continuation_token=continuation_token, + filter=filter, + limit=limit, + names=names, + offset=offset, + sort=sort, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._kmip_api.api226_kmip_get_with_http_info + _process_references(references, ['names'], kwargs) + return self._call_api(endpoint, kwargs) + + def patch_kmip( + self, + references=None, # type: List[models.ReferenceType] + kmip=None, # type: models.KmipPatch + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.KmipResponse + """ + Modifies one or more attributes of KMIP server objects. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names keyword arguments. + + kmip (KmipPatch, required): + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + kmip=kmip, + authorization=authorization, + x_request_id=x_request_id, + names=names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._kmip_api.api226_kmip_patch_with_http_info + _process_references(references, ['names'], kwargs) + return self._call_api(endpoint, kwargs) + + def post_kmip( + self, + references=None, # type: List[models.ReferenceType] + kmip=None, # type: models.KmipPost + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.KmipResponse + """ + Creates KMIP server objects. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names keyword arguments. + + kmip (KmipPost, required): + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + kmip=kmip, + authorization=authorization, + x_request_id=x_request_id, + names=names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._kmip_api.api226_kmip_post_with_http_info + _process_references(references, ['names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_kmip_test( + self, + references=None, # type: List[models.ReferenceType] + names=None, # type: List[str] + authorization=None, # type: str + x_request_id=None, # type: str + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.KmipTestResultGetResponse + """ + Displays communication data between a FlashArray and KMIP server. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names keyword arguments. + + names (list[str], required): + Performs the operation on the unique name specified. For example, `name01`. + Enter multiple names in comma-separated format. + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + names=names, + authorization=authorization, + x_request_id=x_request_id, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._kmip_api.api226_kmip_test_get_with_http_info + _process_references(references, ['names'], kwargs) + return self._call_api(endpoint, kwargs) + + def delete_maintenance_windows( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """ + Deletes an open maintenance window before its scheduled end (`expire`) time. The + `names` parameter is required and must be set to `environment`. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + names=names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._maintenance_windows_api.api226_maintenance_windows_delete_with_http_info + _process_references(references, ['names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_maintenance_windows( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + filter=None, # type: str + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.MaintenanceWindowsGetResponse + """ + Displays maintenance window details, including start time, end time, and + maintenance type. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + continuation_token (str, optional): + An opaque token to iterate over a collection of resources. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + continuation_token=continuation_token, + filter=filter, + limit=limit, + names=names, + offset=offset, + sort=sort, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._maintenance_windows_api.api226_maintenance_windows_get_with_http_info + _process_references(references, ['names'], kwargs) + return self._call_api(endpoint, kwargs) + + def post_maintenance_windows( + self, + references=None, # type: List[models.ReferenceType] + maintenance_window=None, # type: models.MaintenanceWindowPost + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.MaintenanceWindowsResponse + """ + Creates a maintenance window that suppresses alerts for a specified period of + time. A maintenance window can be manually closed at any time. The `names` and + `timeout` parameters are required. Set the `names` parameter to `environment`. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names keyword arguments. + + maintenance_window (MaintenanceWindowPost, required): + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + maintenance_window=maintenance_window, + authorization=authorization, + x_request_id=x_request_id, + names=names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._maintenance_windows_api.api226_maintenance_windows_post_with_http_info + _process_references(references, ['names'], kwargs) + return self._call_api(endpoint, kwargs) + + def delete_network_interfaces( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """ + Deletes a network interface on a controller. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + names=names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._network_interfaces_api.api226_network_interfaces_delete_with_http_info + _process_references(references, ['names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_network_interfaces( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + filter=None, # type: str + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.NetworkInterfaceGetResponse + """ + Displays all network interfaces for all controllers on the array. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + continuation_token (str, optional): + An opaque token to iterate over a collection of resources. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + continuation_token=continuation_token, + filter=filter, + limit=limit, + names=names, + offset=offset, + sort=sort, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._network_interfaces_api.api226_network_interfaces_get_with_http_info + _process_references(references, ['names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_network_interfaces_neighbors( + self, + local_ports=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + filter=None, # type: str + limit=None, # type: int + local_port_names=None, # type: List[str] + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.NetworkInterfaceNeighborGetResponse + """ + Displays all neighbors for all network interfaces on the array. + + Args: + local_ports (list[FixedReference], optional): + A list of local_ports to query for. Overrides local_port_names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + local_port_names (list[str], optional): + Performs the operation on the unique local port name specified. Enter multiple + names in comma-separated format. For example, `ct0.eth0,ct1.eth0`. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + filter=filter, + limit=limit, + local_port_names=local_port_names, + sort=sort, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._network_interfaces_api.api226_network_interfaces_neighbors_get_with_http_info + _process_references(local_ports, ['local_port_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def patch_network_interfaces( + self, + references=None, # type: List[models.ReferenceType] + network=None, # type: models.NetworkInterfacePatch + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.NetworkInterfaceResponse + """ + Modifies a network interface on a controller. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names keyword arguments. + + network (NetworkInterfacePatch, required): + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + network=network, + authorization=authorization, + x_request_id=x_request_id, + names=names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._network_interfaces_api.api226_network_interfaces_patch_with_http_info + _process_references(references, ['names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_network_interfaces_performance( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + filter=None, # type: str + end_time=None, # type: int + resolution=None, # type: int + start_time=None, # type: int + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + total_only=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.NetworkInterfacePerformanceGetResponse + """ + Displays network statistics, historical bandwidth, and error reporting for all + specified network interfaces. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + end_time (int, optional): + Displays historical performance data for the specified time window, where + `start_time` is the beginning of the time window, and `end_time` is the end of + the time window. The `start_time` and `end_time` parameters are specified in + milliseconds since the UNIX epoch. If `start_time` is not specified, the start + time will default to one resolution before the end time, meaning that the most + recent sample of performance data will be displayed. If `end_time`is not + specified, the end time will default to the current time. Include the + `resolution` parameter to display the performance data at the specified + resolution. If not specified, `resolution` defaults to the lowest valid + resolution. + resolution (int, optional): + The number of milliseconds between samples of historical data. For array-wide + performance metrics (`/arrays/performance` endpoint), valid values are `1000` (1 + second), `30000` (30 seconds), `300000` (5 minutes), `1800000` (30 minutes), + `7200000` (2 hours), `28800000` (8 hours), and `86400000` (24 hours). For + performance metrics on storage objects (`/performance` endpoint), + such as volumes, valid values are `30000` (30 seconds), `300000` (5 minutes), + `1800000` (30 minutes), `7200000` (2 hours), `28800000` (8 hours), and + `86400000` (24 hours). For space metrics, (`/space` endpoint), + valid values are `300000` (5 minutes), `1800000` (30 minutes), `7200000` (2 + hours), `28800000` (8 hours), and `86400000` (24 hours). Include the + `start_time` parameter to display the performance data starting at the specified + start time. If `start_time` is not specified, the start time will default to one + resolution before the end time, meaning that the most recent sample of + performance data will be displayed. Include the `end_time` parameter to display + the performance data until the specified end time. If `end_time`is not + specified, the end time will default to the current time. If the `resolution` + parameter is not specified but either the `start_time` or `end_time` parameter + is, then `resolution` will default to the lowest valid resolution. + start_time (int, optional): + Displays historical performance data for the specified time window, where + `start_time` is the beginning of the time window, and `end_time` is the end of + the time window. The `start_time` and `end_time` parameters are specified in + milliseconds since the UNIX epoch. If `start_time` is not specified, the start + time will default to one resolution before the end time, meaning that the most + recent sample of performance data will be displayed. If `end_time`is not + specified, the end time will default to the current time. Include the + `resolution` parameter to display the performance data at the specified + resolution. If not specified, `resolution` defaults to the lowest valid + resolution. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + total_only (bool, optional): + If set to `true`, returns the aggregate value of all items after filtering. + Where it makes more sense, the average value is displayed instead. The values + are displayed for each name where meaningful. If `total_only=true`, the `items` + list will be empty. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + filter=filter, + end_time=end_time, + resolution=resolution, + start_time=start_time, + limit=limit, + names=names, + offset=offset, + sort=sort, + total_item_count=total_item_count, + total_only=total_only, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._network_interfaces_api.api226_network_interfaces_performance_get_with_http_info + _process_references(references, ['names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_network_interfaces_port_details( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + filter=None, # type: str + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.NetworkInterfacesPortDetailsGetResponse + """ + Displays Ethernet and Fibre Channel SFP details. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + filter=filter, + limit=limit, + names=names, + offset=offset, + sort=sort, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._network_interfaces_api.api226_network_interfaces_port_details_get_with_http_info + _process_references(references, ['names'], kwargs) + return self._call_api(endpoint, kwargs) + + def post_network_interfaces( + self, + references=None, # type: List[models.ReferenceType] + network=None, # type: models.NetworkInterfacePost + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.NetworkInterfaceResponse + """ + Creates a network interface on a controller on the array. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names keyword arguments. + + network (NetworkInterfacePost, required): + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + network=network, + authorization=authorization, + x_request_id=x_request_id, + names=names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._network_interfaces_api.api226_network_interfaces_post_with_http_info + _process_references(references, ['names'], kwargs) + return self._call_api(endpoint, kwargs) + + def delete_offloads( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """ + Deletes an offload target. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + names=names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._offloads_api.api226_offloads_delete_with_http_info + _process_references(references, ['names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_offloads( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + filter=None, # type: str + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + protocol=None, # type: str + sort=None, # type: List[str] + total_item_count=None, # type: bool + total_only=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.OffloadGetResponse + """ + Displays a list of offload targets that are connected to the array. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + protocol (str, optional): + Protocol type. Valid values are `azure`, `google-cloud`, `nfs`, and `s3`. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + total_only (bool, optional): + If set to `true`, returns the aggregate value of all items after filtering. + Where it makes more sense, the average value is displayed instead. The values + are displayed for each name where meaningful. If `total_only=true`, the `items` + list will be empty. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + filter=filter, + limit=limit, + names=names, + offset=offset, + protocol=protocol, + sort=sort, + total_item_count=total_item_count, + total_only=total_only, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._offloads_api.api226_offloads_get_with_http_info + _process_references(references, ['names'], kwargs) + return self._call_api(endpoint, kwargs) + + def post_offloads( + self, + references=None, # type: List[models.ReferenceType] + offload=None, # type: models.OffloadPost + authorization=None, # type: str + x_request_id=None, # type: str + initialize=None, # type: bool + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.OffloadResponse + """ + Creates an offload target, connecting it to an array. Before you can connect to, + manage, and replicate to an offload target, the Purity Run app must be + installed. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names keyword arguments. + + offload (OffloadPost, required): + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + initialize (bool, optional): + If set to `true`, initializes the Amazon S3/Azure Blob container/Google Cloud + Storage in preparation for offloading. The parameter must be set to `true` if + this is the first time the array is connecting to the offload target. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + offload=offload, + authorization=authorization, + x_request_id=x_request_id, + initialize=initialize, + names=names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._offloads_api.api226_offloads_post_with_http_info + _process_references(references, ['names'], kwargs) + return self._call_api(endpoint, kwargs) + + def delete_pod_replica_links( + self, + references=None, # type: List[models.ReferenceType] + local_pods=None, # type: List[models.ReferenceType] + remote_pods=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + ids=None, # type: List[str] + local_pod_ids=None, # type: List[str] + local_pod_names=None, # type: List[str] + remote_pod_ids=None, # type: List[str] + remote_pod_names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """ + Deletes pod replica links. The `local_pod_names` and `remote_pod_names` are + required. Valid values are `replicating`, `baselining`, `paused`, `unhealthy`, + `quiescing`, and `quiesced`. A status of `replicating` indicates that the source + array is replicating to the target array. A status of `baselining` indicates + that the the initial version of the dataset is being sent. During this phase, + you cannot promote the target pod. In addition, changing the link direction + might trigger the `baselining` status to recur. A status of `paused ` indicates + that data transfer between objects has stopped. A status of `unhealthy` + indicates that the link is currently unhealthy and customers must perform some + health checks to determine the cause. A status of `quiescing` indicates that the + source pod is not accepting new write requests but the most recent changes to + the source have not arrived on the target. A status of `quiesced` indicates that + the source pod has been demoted and all changes have been replicated to the + target pod. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides ids keyword arguments. + local_pods (list[FixedReference], optional): + A list of local_pods to query for. Overrides local_pod_ids and local_pod_names keyword arguments. + remote_pods (list[FixedReference], optional): + A list of remote_pods to query for. Overrides remote_pod_ids and remote_pod_names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + ids (list[str], optional): + Performs the operation on the unique resource IDs specified. Enter multiple + resource IDs in comma-separated format. The `ids` or `names` parameter is + required, but they cannot be set together. + local_pod_ids (list[str], optional): + A list of local pod IDs. If, after filtering, there is not at least one resource + that matches each of the elements, then an error is returned. This cannot be + provided together with the `local_pod_names` query parameter. + local_pod_names (list[str], optional): + A list of local pod names. If, after filtering, there is not at least one + resource that matches each of the elements, then an error is returned. This + cannot be provided together with the `local_pod_ids` query parameter. + remote_pod_ids (list[str], optional): + A list of remote pod IDs. If, after filtering, there is not at least one + resource that matches each of the elements, then an error is returned. This + cannot be provided together with the `remote_pod_names` query parameter. + remote_pod_names (list[str], optional): + A list of remote pod names. If, after filtering, there is not at least one + resource that matches each of the elements, then an error is returned. This + cannot be provided together with the `remote_pod_ids` query parameter. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + ids=ids, + local_pod_ids=local_pod_ids, + local_pod_names=local_pod_names, + remote_pod_ids=remote_pod_ids, + remote_pod_names=remote_pod_names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._pod_replica_links_api.api226_pod_replica_links_delete_with_http_info + _process_references(references, ['ids'], kwargs) + _process_references(local_pods, ['local_pod_ids', 'local_pod_names'], kwargs) + _process_references(remote_pods, ['remote_pod_ids', 'remote_pod_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_pod_replica_links( + self, + references=None, # type: List[models.ReferenceType] + local_pods=None, # type: List[models.ReferenceType] + remotes=None, # type: List[models.ReferenceType] + remote_pods=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + filter=None, # type: str + ids=None, # type: List[str] + limit=None, # type: int + local_pod_ids=None, # type: List[str] + local_pod_names=None, # type: List[str] + offset=None, # type: int + remote_ids=None, # type: List[str] + remote_names=None, # type: List[str] + remote_pod_ids=None, # type: List[str] + remote_pod_names=None, # type: List[str] + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PodReplicaLinkGetResponse + """ + Displays the list of pod replica links that are configured between arrays. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides ids keyword arguments. + local_pods (list[FixedReference], optional): + A list of local_pods to query for. Overrides local_pod_ids and local_pod_names keyword arguments. + remotes (list[FixedReference], optional): + A list of remotes to query for. Overrides remote_ids and remote_names keyword arguments. + remote_pods (list[FixedReference], optional): + A list of remote_pods to query for. Overrides remote_pod_ids and remote_pod_names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + ids (list[str], optional): + Performs the operation on the unique resource IDs specified. Enter multiple + resource IDs in comma-separated format. The `ids` or `names` parameter is + required, but they cannot be set together. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + local_pod_ids (list[str], optional): + A list of local pod IDs. If, after filtering, there is not at least one resource + that matches each of the elements, then an error is returned. This cannot be + provided together with the `local_pod_names` query parameter. + local_pod_names (list[str], optional): + A list of local pod names. If, after filtering, there is not at least one + resource that matches each of the elements, then an error is returned. This + cannot be provided together with the `local_pod_ids` query parameter. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + remote_ids (list[str], optional): + A list of remote array IDs. If, after filtering, there is not at least one + resource that matches each of the elements, then an error is returned. This + cannot be provided together with the `remote_names` query parameter. + remote_names (list[str], optional): + A list of remote array names. If, after filtering, there is not at least one + resource that matches each of the elements, then an error is returned. This + cannot be provided together with the `remote_ids` query parameter. + remote_pod_ids (list[str], optional): + A list of remote pod IDs. If, after filtering, there is not at least one + resource that matches each of the elements, then an error is returned. This + cannot be provided together with the `remote_pod_names` query parameter. + remote_pod_names (list[str], optional): + A list of remote pod names. If, after filtering, there is not at least one + resource that matches each of the elements, then an error is returned. This + cannot be provided together with the `remote_pod_ids` query parameter. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + filter=filter, + ids=ids, + limit=limit, + local_pod_ids=local_pod_ids, + local_pod_names=local_pod_names, + offset=offset, + remote_ids=remote_ids, + remote_names=remote_names, + remote_pod_ids=remote_pod_ids, + remote_pod_names=remote_pod_names, + sort=sort, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._pod_replica_links_api.api226_pod_replica_links_get_with_http_info + _process_references(references, ['ids'], kwargs) + _process_references(local_pods, ['local_pod_ids', 'local_pod_names'], kwargs) + _process_references(remotes, ['remote_ids', 'remote_names'], kwargs) + _process_references(remote_pods, ['remote_pod_ids', 'remote_pod_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_pod_replica_links_lag( + self, + references=None, # type: List[models.ReferenceType] + local_pods=None, # type: List[models.ReferenceType] + remotes=None, # type: List[models.ReferenceType] + remote_pods=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + filter=None, # type: str + ids=None, # type: List[str] + end_time=None, # type: int + resolution=None, # type: int + start_time=None, # type: int + limit=None, # type: int + local_pod_ids=None, # type: List[str] + local_pod_names=None, # type: List[str] + offset=None, # type: int + remote_ids=None, # type: List[str] + remote_names=None, # type: List[str] + remote_pod_ids=None, # type: List[str] + remote_pod_names=None, # type: List[str] + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PodReplicaLinkLagGetResponse + """ + Displays the lag in milliseconds that the replication target is behind the + source. This is the time difference between the current time and the recovery + point. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides ids keyword arguments. + local_pods (list[FixedReference], optional): + A list of local_pods to query for. Overrides local_pod_ids and local_pod_names keyword arguments. + remotes (list[FixedReference], optional): + A list of remotes to query for. Overrides remote_ids and remote_names keyword arguments. + remote_pods (list[FixedReference], optional): + A list of remote_pods to query for. Overrides remote_pod_ids and remote_pod_names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + ids (list[str], optional): + Performs the operation on the unique resource IDs specified. Enter multiple + resource IDs in comma-separated format. The `ids` or `names` parameter is + required, but they cannot be set together. + end_time (int, optional): + Displays historical performance data for the specified time window, where + `start_time` is the beginning of the time window, and `end_time` is the end of + the time window. The `start_time` and `end_time` parameters are specified in + milliseconds since the UNIX epoch. If `start_time` is not specified, the start + time will default to one resolution before the end time, meaning that the most + recent sample of performance data will be displayed. If `end_time`is not + specified, the end time will default to the current time. Include the + `resolution` parameter to display the performance data at the specified + resolution. If not specified, `resolution` defaults to the lowest valid + resolution. + resolution (int, optional): + The number of milliseconds between samples of historical data. For array-wide + performance metrics (`/arrays/performance` endpoint), valid values are `1000` (1 + second), `30000` (30 seconds), `300000` (5 minutes), `1800000` (30 minutes), + `7200000` (2 hours), `28800000` (8 hours), and `86400000` (24 hours). For + performance metrics on storage objects (`/performance` endpoint), + such as volumes, valid values are `30000` (30 seconds), `300000` (5 minutes), + `1800000` (30 minutes), `7200000` (2 hours), `28800000` (8 hours), and + `86400000` (24 hours). For space metrics, (`/space` endpoint), + valid values are `300000` (5 minutes), `1800000` (30 minutes), `7200000` (2 + hours), `28800000` (8 hours), and `86400000` (24 hours). Include the + `start_time` parameter to display the performance data starting at the specified + start time. If `start_time` is not specified, the start time will default to one + resolution before the end time, meaning that the most recent sample of + performance data will be displayed. Include the `end_time` parameter to display + the performance data until the specified end time. If `end_time`is not + specified, the end time will default to the current time. If the `resolution` + parameter is not specified but either the `start_time` or `end_time` parameter + is, then `resolution` will default to the lowest valid resolution. + start_time (int, optional): + Displays historical performance data for the specified time window, where + `start_time` is the beginning of the time window, and `end_time` is the end of + the time window. The `start_time` and `end_time` parameters are specified in + milliseconds since the UNIX epoch. If `start_time` is not specified, the start + time will default to one resolution before the end time, meaning that the most + recent sample of performance data will be displayed. If `end_time`is not + specified, the end time will default to the current time. Include the + `resolution` parameter to display the performance data at the specified + resolution. If not specified, `resolution` defaults to the lowest valid + resolution. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + local_pod_ids (list[str], optional): + A list of local pod IDs. If, after filtering, there is not at least one resource + that matches each of the elements, then an error is returned. This cannot be + provided together with the `local_pod_names` query parameter. + local_pod_names (list[str], optional): + A list of local pod names. If, after filtering, there is not at least one + resource that matches each of the elements, then an error is returned. This + cannot be provided together with the `local_pod_ids` query parameter. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + remote_ids (list[str], optional): + A list of remote array IDs. If, after filtering, there is not at least one + resource that matches each of the elements, then an error is returned. This + cannot be provided together with the `remote_names` query parameter. + remote_names (list[str], optional): + A list of remote array names. If, after filtering, there is not at least one + resource that matches each of the elements, then an error is returned. This + cannot be provided together with the `remote_ids` query parameter. + remote_pod_ids (list[str], optional): + A list of remote pod IDs. If, after filtering, there is not at least one + resource that matches each of the elements, then an error is returned. This + cannot be provided together with the `remote_pod_names` query parameter. + remote_pod_names (list[str], optional): + A list of remote pod names. If, after filtering, there is not at least one + resource that matches each of the elements, then an error is returned. This + cannot be provided together with the `remote_pod_ids` query parameter. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + filter=filter, + ids=ids, + end_time=end_time, + resolution=resolution, + start_time=start_time, + limit=limit, + local_pod_ids=local_pod_ids, + local_pod_names=local_pod_names, + offset=offset, + remote_ids=remote_ids, + remote_names=remote_names, + remote_pod_ids=remote_pod_ids, + remote_pod_names=remote_pod_names, + sort=sort, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._pod_replica_links_api.api226_pod_replica_links_lag_get_with_http_info + _process_references(references, ['ids'], kwargs) + _process_references(local_pods, ['local_pod_ids', 'local_pod_names'], kwargs) + _process_references(remotes, ['remote_ids', 'remote_names'], kwargs) + _process_references(remote_pods, ['remote_pod_ids', 'remote_pod_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def patch_pod_replica_links( + self, + references=None, # type: List[models.ReferenceType] + local_pods=None, # type: List[models.ReferenceType] + remotes=None, # type: List[models.ReferenceType] + remote_pods=None, # type: List[models.ReferenceType] + pod_replica_link=None, # type: models.PodReplicaLinkPatch + authorization=None, # type: str + x_request_id=None, # type: str + ids=None, # type: List[str] + local_pod_ids=None, # type: List[str] + local_pod_names=None, # type: List[str] + remote_ids=None, # type: List[str] + remote_names=None, # type: List[str] + remote_pod_ids=None, # type: List[str] + remote_pod_names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PodReplicaLinkResponse + """ + Modifies pod replica links. The `local_pod_names` and `remote_pod_names` are + required. Valid values are `replicating`, `baselining`, `paused`, `unhealthy`, + `quiescing`, and `quiesced`. A status of `replicating` indicates that the source + array is replicating to the target array. A status of `baselining` indicates + that the the initial version of the dataset is being sent. During this phase, + you cannot promote the target pod. In addition, changing the link direction + might trigger the `baselining` status to recur. A status of `paused ` indicates + that data transfer between objects has stopped. A status of `unhealthy` + indicates that the link is currently unhealthy and customers must perform some + health checks to determine the cause. A status of `quiescing` indicates that the + source pod is not accepting new write requests but the most recent changes to + the source have not arrived on the target. A status of `quiesced` indicates that + the source pod has been demoted and all changes have been replicated to the + target pod. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides ids keyword arguments. + local_pods (list[FixedReference], optional): + A list of local_pods to query for. Overrides local_pod_ids and local_pod_names keyword arguments. + remotes (list[FixedReference], optional): + A list of remotes to query for. Overrides remote_ids and remote_names keyword arguments. + remote_pods (list[FixedReference], optional): + A list of remote_pods to query for. Overrides remote_pod_ids and remote_pod_names keyword arguments. + + pod_replica_link (PodReplicaLinkPatch, required): + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + ids (list[str], optional): + Performs the operation on the unique resource IDs specified. Enter multiple + resource IDs in comma-separated format. The `ids` or `names` parameter is + required, but they cannot be set together. + local_pod_ids (list[str], optional): + A list of local pod IDs. If, after filtering, there is not at least one resource + that matches each of the elements, then an error is returned. This cannot be + provided together with the `local_pod_names` query parameter. + local_pod_names (list[str], optional): + A list of local pod names. If, after filtering, there is not at least one + resource that matches each of the elements, then an error is returned. This + cannot be provided together with the `local_pod_ids` query parameter. + remote_ids (list[str], optional): + A list of remote array IDs. If, after filtering, there is not at least one + resource that matches each of the elements, then an error is returned. This + cannot be provided together with the `remote_names` query parameter. + remote_names (list[str], optional): + A list of remote array names. If, after filtering, there is not at least one + resource that matches each of the elements, then an error is returned. This + cannot be provided together with the `remote_ids` query parameter. + remote_pod_ids (list[str], optional): + A list of remote pod IDs. If, after filtering, there is not at least one + resource that matches each of the elements, then an error is returned. This + cannot be provided together with the `remote_pod_names` query parameter. + remote_pod_names (list[str], optional): + A list of remote pod names. If, after filtering, there is not at least one + resource that matches each of the elements, then an error is returned. This + cannot be provided together with the `remote_pod_ids` query parameter. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + pod_replica_link=pod_replica_link, + authorization=authorization, + x_request_id=x_request_id, + ids=ids, + local_pod_ids=local_pod_ids, + local_pod_names=local_pod_names, + remote_ids=remote_ids, + remote_names=remote_names, + remote_pod_ids=remote_pod_ids, + remote_pod_names=remote_pod_names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._pod_replica_links_api.api226_pod_replica_links_patch_with_http_info + _process_references(references, ['ids'], kwargs) + _process_references(local_pods, ['local_pod_ids', 'local_pod_names'], kwargs) + _process_references(remotes, ['remote_ids', 'remote_names'], kwargs) + _process_references(remote_pods, ['remote_pod_ids', 'remote_pod_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_pod_replica_links_performance_replication( + self, + references=None, # type: List[models.ReferenceType] + local_pods=None, # type: List[models.ReferenceType] + remotes=None, # type: List[models.ReferenceType] + remote_pods=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + filter=None, # type: str + end_time=None, # type: int + resolution=None, # type: int + start_time=None, # type: int + ids=None, # type: List[str] + limit=None, # type: int + local_pod_ids=None, # type: List[str] + local_pod_names=None, # type: List[str] + offset=None, # type: int + remote_ids=None, # type: List[str] + remote_names=None, # type: List[str] + remote_pod_ids=None, # type: List[str] + remote_pod_names=None, # type: List[str] + sort=None, # type: List[str] + total_item_count=None, # type: bool + total_only=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PodReplicaLinkPerformanceReplicationGetResponse + """ + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides ids keyword arguments. + local_pods (list[FixedReference], optional): + A list of local_pods to query for. Overrides local_pod_ids and local_pod_names keyword arguments. + remotes (list[FixedReference], optional): + A list of remotes to query for. Overrides remote_ids and remote_names keyword arguments. + remote_pods (list[FixedReference], optional): + A list of remote_pods to query for. Overrides remote_pod_ids and remote_pod_names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + end_time (int, optional): + Displays historical performance data for the specified time window, where + `start_time` is the beginning of the time window, and `end_time` is the end of + the time window. The `start_time` and `end_time` parameters are specified in + milliseconds since the UNIX epoch. If `start_time` is not specified, the start + time will default to one resolution before the end time, meaning that the most + recent sample of performance data will be displayed. If `end_time`is not + specified, the end time will default to the current time. Include the + `resolution` parameter to display the performance data at the specified + resolution. If not specified, `resolution` defaults to the lowest valid + resolution. + resolution (int, optional): + The number of milliseconds between samples of historical data. For array-wide + performance metrics (`/arrays/performance` endpoint), valid values are `1000` (1 + second), `30000` (30 seconds), `300000` (5 minutes), `1800000` (30 minutes), + `7200000` (2 hours), `28800000` (8 hours), and `86400000` (24 hours). For + performance metrics on storage objects (`/performance` endpoint), + such as volumes, valid values are `30000` (30 seconds), `300000` (5 minutes), + `1800000` (30 minutes), `7200000` (2 hours), `28800000` (8 hours), and + `86400000` (24 hours). For space metrics, (`/space` endpoint), + valid values are `300000` (5 minutes), `1800000` (30 minutes), `7200000` (2 + hours), `28800000` (8 hours), and `86400000` (24 hours). Include the + `start_time` parameter to display the performance data starting at the specified + start time. If `start_time` is not specified, the start time will default to one + resolution before the end time, meaning that the most recent sample of + performance data will be displayed. Include the `end_time` parameter to display + the performance data until the specified end time. If `end_time`is not + specified, the end time will default to the current time. If the `resolution` + parameter is not specified but either the `start_time` or `end_time` parameter + is, then `resolution` will default to the lowest valid resolution. + start_time (int, optional): + Displays historical performance data for the specified time window, where + `start_time` is the beginning of the time window, and `end_time` is the end of + the time window. The `start_time` and `end_time` parameters are specified in + milliseconds since the UNIX epoch. If `start_time` is not specified, the start + time will default to one resolution before the end time, meaning that the most + recent sample of performance data will be displayed. If `end_time`is not + specified, the end time will default to the current time. Include the + `resolution` parameter to display the performance data at the specified + resolution. If not specified, `resolution` defaults to the lowest valid + resolution. + ids (list[str], optional): + Performs the operation on the unique resource IDs specified. Enter multiple + resource IDs in comma-separated format. The `ids` or `names` parameter is + required, but they cannot be set together. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + local_pod_ids (list[str], optional): + A list of local pod IDs. If, after filtering, there is not at least one resource + that matches each of the elements, then an error is returned. This cannot be + provided together with the `local_pod_names` query parameter. + local_pod_names (list[str], optional): + A list of local pod names. If, after filtering, there is not at least one + resource that matches each of the elements, then an error is returned. This + cannot be provided together with the `local_pod_ids` query parameter. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + remote_ids (list[str], optional): + A list of remote array IDs. If, after filtering, there is not at least one + resource that matches each of the elements, then an error is returned. This + cannot be provided together with the `remote_names` query parameter. + remote_names (list[str], optional): + A list of remote array names. If, after filtering, there is not at least one + resource that matches each of the elements, then an error is returned. This + cannot be provided together with the `remote_ids` query parameter. + remote_pod_ids (list[str], optional): + A list of remote pod IDs. If, after filtering, there is not at least one + resource that matches each of the elements, then an error is returned. This + cannot be provided together with the `remote_pod_names` query parameter. + remote_pod_names (list[str], optional): + A list of remote pod names. If, after filtering, there is not at least one + resource that matches each of the elements, then an error is returned. This + cannot be provided together with the `remote_pod_ids` query parameter. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + total_only (bool, optional): + If set to `true`, only return the aggregate value of all items after filtering. + For real-time performance, the values are aggregated for the latest timestamp. + For historical performance, the values are aggregated for each timestamp from + `start_time` to `end_time`. Where it makes more sense, the average value is + displayed instead. The values are displayed for each name where meaningful. If + `total_only=true`, the `items` list will be empty. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + filter=filter, + end_time=end_time, + resolution=resolution, + start_time=start_time, + ids=ids, + limit=limit, + local_pod_ids=local_pod_ids, + local_pod_names=local_pod_names, + offset=offset, + remote_ids=remote_ids, + remote_names=remote_names, + remote_pod_ids=remote_pod_ids, + remote_pod_names=remote_pod_names, + sort=sort, + total_item_count=total_item_count, + total_only=total_only, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._pod_replica_links_api.api226_pod_replica_links_performance_replication_get_with_http_info + _process_references(references, ['ids'], kwargs) + _process_references(local_pods, ['local_pod_ids', 'local_pod_names'], kwargs) + _process_references(remotes, ['remote_ids', 'remote_names'], kwargs) + _process_references(remote_pods, ['remote_pod_ids', 'remote_pod_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def post_pod_replica_links( + self, + local_pods=None, # type: List[models.ReferenceType] + remotes=None, # type: List[models.ReferenceType] + remote_pods=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + local_pod_ids=None, # type: List[str] + local_pod_names=None, # type: List[str] + remote_ids=None, # type: List[str] + remote_names=None, # type: List[str] + remote_pod_ids=None, # type: List[str] + remote_pod_names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PodReplicaLinkResponse + """ + Creates pod replica links between two arrays. The `local_pod_names` and + `remote_pod_names` are required. Valid values are `replicating`, `baselining`, + `paused`, `unhealthy`, `quiescing`, and `quiesced`. A status of `replicating` + indicates that the source array is replicating to the target array. A status of + `baselining` indicates that the the initial version of the dataset is being + sent. During this phase, you cannot promote the target pod. In addition, + changing the link direction might trigger the `baselining` status to recur. A + status of `paused ` indicates that data transfer between objects has stopped. A + status of `unhealthy` indicates that the link is currently unhealthy and + customers must perform some health checks to determine the cause. A status of + `quiescing` indicates that the source pod is not accepting new write requests + but the most recent changes to the source have not arrived on the target. A + status of `quiesced` indicates that the source pod has been demoted and all + changes have been replicated to the target pod. + + Args: + local_pods (list[FixedReference], optional): + A list of local_pods to query for. Overrides local_pod_ids and local_pod_names keyword arguments. + remotes (list[FixedReference], optional): + A list of remotes to query for. Overrides remote_ids and remote_names keyword arguments. + remote_pods (list[FixedReference], optional): + A list of remote_pods to query for. Overrides remote_pod_ids and remote_pod_names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + local_pod_ids (list[str], optional): + A list of local pod IDs. If, after filtering, there is not at least one resource + that matches each of the elements, then an error is returned. This cannot be + provided together with the `local_pod_names` query parameter. + local_pod_names (list[str], optional): + A list of local pod names. If, after filtering, there is not at least one + resource that matches each of the elements, then an error is returned. This + cannot be provided together with the `local_pod_ids` query parameter. + remote_ids (list[str], optional): + A list of remote array IDs. If, after filtering, there is not at least one + resource that matches each of the elements, then an error is returned. This + cannot be provided together with the `remote_names` query parameter. + remote_names (list[str], optional): + A list of remote array names. If, after filtering, there is not at least one + resource that matches each of the elements, then an error is returned. This + cannot be provided together with the `remote_ids` query parameter. + remote_pod_ids (list[str], optional): + A list of remote pod IDs. If, after filtering, there is not at least one + resource that matches each of the elements, then an error is returned. This + cannot be provided together with the `remote_pod_names` query parameter. + remote_pod_names (list[str], optional): + A list of remote pod names. If, after filtering, there is not at least one + resource that matches each of the elements, then an error is returned. This + cannot be provided together with the `remote_pod_ids` query parameter. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + local_pod_ids=local_pod_ids, + local_pod_names=local_pod_names, + remote_ids=remote_ids, + remote_names=remote_names, + remote_pod_ids=remote_pod_ids, + remote_pod_names=remote_pod_names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._pod_replica_links_api.api226_pod_replica_links_post_with_http_info + _process_references(local_pods, ['local_pod_ids', 'local_pod_names'], kwargs) + _process_references(remotes, ['remote_ids', 'remote_names'], kwargs) + _process_references(remote_pods, ['remote_pod_ids', 'remote_pod_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def delete_pods_arrays( + self, + groups=None, # type: List[models.ReferenceType] + members=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + group_names=None, # type: List[str] + group_ids=None, # type: List[str] + member_names=None, # type: List[str] + member_ids=None, # type: List[str] + with_unknown=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """ + Unstretches a pod from an array, collapsing the pod to a single array. Unstretch + a pod from an array when the volumes within the stretched pod no longer need to + be synchronously replicated between the two arrays. After a pod has been + unstretched, synchronous replication stops. A destroyed version of the pod with + \"restretch\" appended to the pod name is created on the array that no longer + has the pod. The restretch pod represents a point-in-time snapshot of the pod, + just before it was unstretched. The restretch pod enters an eradication pending + period starting from the time that the pod was unstretched. A restretch can pod + can be cloned or destroyed, but it cannot be explicitly recovered. The + `group_names` parameter represents the name of the pod to be unstretched. The + `member_names` parameter represents the name of the array from which the pod is + to be unstretched. The `group_names` and `member_names` parameters are required + and must be set together. + + Args: + groups (list[FixedReference], optional): + A list of groups to query for. Overrides group_names and group_ids keyword arguments. + members (list[FixedReference], optional): + A list of members to query for. Overrides member_names and member_ids keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + group_names (list[str], optional): + Performs the operation on the unique group name specified. Examples of groups + include host groups, pods, protection groups, and volume groups. Enter multiple + names in comma-separated format. For example, `hgroup01,hgroup02`. + group_ids (list[str], optional): + A list of group IDs. + member_names (list[str], optional): + Performs the operation on the unique member name specified. Examples of members + include volumes, hosts, host groups, and directories. Enter multiple names in + comma-separated format. For example, `vol01,vol02`. + member_ids (list[str], optional): + Performs the operation on the unique member IDs specified. Enter multiple member + IDs in comma-separated format. The `member_ids` or `member_names` parameter is + required, but they cannot be set together. + with_unknown (bool, optional): + If set to `true`, unstretches the specified pod from the specified array by + force. Use the `with_unknown` parameter in the following rare event: the + local array goes offline while the pod is still stretched across two arrays, the + status of the remote array becomes unknown, and there is no guarantee that the + pod is online elsewhere. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + group_names=group_names, + group_ids=group_ids, + member_names=member_names, + member_ids=member_ids, + with_unknown=with_unknown, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._pods_api.api226_pods_arrays_delete_with_http_info + _process_references(groups, ['group_names', 'group_ids'], kwargs) + _process_references(members, ['member_names', 'member_ids'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_pods_arrays( + self, + groups=None, # type: List[models.ReferenceType] + members=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + filter=None, # type: str + group_names=None, # type: List[str] + group_ids=None, # type: List[str] + limit=None, # type: int + member_names=None, # type: List[str] + member_ids=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.MemberGetResponse + """ + Returns a list of pods and the local and remote arrays over which the pods are + stretched. The optional `group_names` parameter represents the name of the pod. + The optional `member_names` parameter represents the name of the array over + which the pod is stretched. + + Args: + groups (list[FixedReference], optional): + A list of groups to query for. Overrides group_names and group_ids keyword arguments. + members (list[FixedReference], optional): + A list of members to query for. Overrides member_names and member_ids keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + group_names (list[str], optional): + Performs the operation on the unique group name specified. Examples of groups + include host groups, pods, protection groups, and volume groups. Enter multiple + names in comma-separated format. For example, `hgroup01,hgroup02`. + group_ids (list[str], optional): + A list of group IDs. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + member_names (list[str], optional): + Performs the operation on the unique member name specified. Examples of members + include volumes, hosts, host groups, and directories. Enter multiple names in + comma-separated format. For example, `vol01,vol02`. + member_ids (list[str], optional): + Performs the operation on the unique member IDs specified. Enter multiple member + IDs in comma-separated format. The `member_ids` or `member_names` parameter is + required, but they cannot be set together. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + filter=filter, + group_names=group_names, + group_ids=group_ids, + limit=limit, + member_names=member_names, + member_ids=member_ids, + offset=offset, + sort=sort, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._pods_api.api226_pods_arrays_get_with_http_info + _process_references(groups, ['group_names', 'group_ids'], kwargs) + _process_references(members, ['member_names', 'member_ids'], kwargs) + return self._call_api(endpoint, kwargs) + + def post_pods_arrays( + self, + groups=None, # type: List[models.ReferenceType] + members=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + group_names=None, # type: List[str] + group_ids=None, # type: List[str] + member_names=None, # type: List[str] + member_ids=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.MemberResponse + """ + Stretches a pod to an array. When a pod is stretched to an array, the data in + the arrays over which the pod is stretched is synchronously replicated. The + `group_names` parameter represents the name of the pod to be stretched. The + `member_names` parameter represents the name of the array over which the pod is + to be stretched. The `group_names` and `member_names` parameters are required + and must be set together. + + Args: + groups (list[FixedReference], optional): + A list of groups to query for. Overrides group_names and group_ids keyword arguments. + members (list[FixedReference], optional): + A list of members to query for. Overrides member_names and member_ids keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + group_names (list[str], optional): + Performs the operation on the unique group name specified. Examples of groups + include host groups, pods, protection groups, and volume groups. Enter multiple + names in comma-separated format. For example, `hgroup01,hgroup02`. + group_ids (list[str], optional): + A list of group IDs. + member_names (list[str], optional): + Performs the operation on the unique member name specified. Examples of members + include volumes, hosts, host groups, and directories. Enter multiple names in + comma-separated format. For example, `vol01,vol02`. + member_ids (list[str], optional): + Performs the operation on the unique member IDs specified. Enter multiple member + IDs in comma-separated format. The `member_ids` or `member_names` parameter is + required, but they cannot be set together. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + group_names=group_names, + group_ids=group_ids, + member_names=member_names, + member_ids=member_ids, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._pods_api.api226_pods_arrays_post_with_http_info + _process_references(groups, ['group_names', 'group_ids'], kwargs) + _process_references(members, ['member_names', 'member_ids'], kwargs) + return self._call_api(endpoint, kwargs) + + def delete_pods( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + ids=None, # type: List[str] + names=None, # type: List[str] + eradicate_contents=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """ + Deletes a pod that has been destroyed and is pending eradication. Eradicated + pods cannot be recovered. Pods are destroyed using the PATCH method. The `ids` + or `names` parameter is required, but they cannot be set together. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides ids and names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + ids (list[str], optional): + Performs the operation on the unique resource IDs specified. Enter multiple + resource IDs in comma-separated format. The `ids` or `names` parameter is + required, but they cannot be set together. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + eradicate_contents (bool, optional): + Set to `true` to eradicate contents (e.g., volumes, protection groups, + snapshots) and containers (e.g., pods, volume groups). This enables you to + eradicate containers with contents. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + ids=ids, + names=names, + eradicate_contents=eradicate_contents, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._pods_api.api226_pods_delete_with_http_info + _process_references(references, ['ids', 'names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_pods( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + destroyed=None, # type: bool + filter=None, # type: str + ids=None, # type: List[str] + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + total_only=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PodGetResponse + """ + Displays a list of pods that are stretched to this array. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides ids and names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + continuation_token (str, optional): + An opaque token to iterate over a collection of resources. + destroyed (bool, optional): + If set to `true`, lists only destroyed objects that are in the eradication + pending state. If set to `false`, lists only objects that are not destroyed. For + destroyed objects, the time remaining is displayed in milliseconds. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + ids (list[str], optional): + Performs the operation on the unique resource IDs specified. Enter multiple + resource IDs in comma-separated format. The `ids` or `names` parameter is + required, but they cannot be set together. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + total_only (bool, optional): + If set to `true`, returns the aggregate value of all items after filtering. + Where it makes more sense, the average value is displayed instead. The values + are displayed for each name where meaningful. If `total_only=true`, the `items` + list will be empty. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + continuation_token=continuation_token, + destroyed=destroyed, + filter=filter, + ids=ids, + limit=limit, + names=names, + offset=offset, + sort=sort, + total_item_count=total_item_count, + total_only=total_only, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._pods_api.api226_pods_get_with_http_info + _process_references(references, ['ids', 'names'], kwargs) + return self._call_api(endpoint, kwargs) + + def patch_pods( + self, + references=None, # type: List[models.ReferenceType] + pod=None, # type: models.PodPatch + authorization=None, # type: str + x_request_id=None, # type: str + ids=None, # type: List[str] + names=None, # type: List[str] + abort_quiesce=None, # type: bool + quiesce=None, # type: bool + skip_quiesce=None, # type: bool + promote_from=None, # type: str + destroy_contents=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PodResponse + """ + Modifies pod details. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides ids and names keyword arguments. + + pod (PodPatch, required): + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + ids (list[str], optional): + Performs the operation on the unique resource IDs specified. Enter multiple + resource IDs in comma-separated format. The `ids` or `names` parameter is + required, but they cannot be set together. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + abort_quiesce (bool, optional): + Set to `true` to promote the pod when the `pod-replica-link` is in the + `quiescing` state and abort when waiting for the `pod-replica-link` to complete + the quiescing operation. + quiesce (bool, optional): + Set to `true` to demote the pod after the `pod-replica-link` goes into + `quiesced` state and allow the pod to become a target of the remote pod. This + ensures that all local data has been replicated to the remote pod before the pod + is demoted. + skip_quiesce (bool, optional): + Set to `true` to demote the pod without quiescing the `pod-replica-link` and + allow the pod to become a target of the remote pod. This stops all pending + replication to the remote pod. + promote_from (str, optional): + The `undo-demote` pod that should be used to promote the pod. After the pod has + been promoted, it will have the same data as the `undo-demote` pod and the + `undo-demote` pod will be eradicated. + destroy_contents (bool, optional): + Set to `true` to destroy contents (e.g., volumes, protection groups, snapshots) + and containers (e.g., pods, volume groups). This enables you to destroy + containers with contents. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + pod=pod, + authorization=authorization, + x_request_id=x_request_id, + ids=ids, + names=names, + abort_quiesce=abort_quiesce, + quiesce=quiesce, + skip_quiesce=skip_quiesce, + promote_from=promote_from, + destroy_contents=destroy_contents, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._pods_api.api226_pods_patch_with_http_info + _process_references(references, ['ids', 'names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_pods_performance_by_array( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + destroyed=None, # type: bool + filter=None, # type: str + end_time=None, # type: int + resolution=None, # type: int + start_time=None, # type: int + ids=None, # type: List[str] + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + protocol=None, # type: str + protocol_group=None, # type: str + sort=None, # type: List[str] + total_item_count=None, # type: bool + total_only=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PodPerformanceByArrayGetResponse + """ + Displays real-time and historical performance data, real-time latency data, and + average I/O size data. The data is displayed as a total across all pods on the + local array and by individual pod. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides ids and names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + destroyed (bool, optional): + If set to `true`, lists only destroyed objects that are in the eradication + pending state. If set to `false`, lists only objects that are not destroyed. For + destroyed objects, the time remaining is displayed in milliseconds. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + end_time (int, optional): + Displays historical performance data for the specified time window, where + `start_time` is the beginning of the time window, and `end_time` is the end of + the time window. The `start_time` and `end_time` parameters are specified in + milliseconds since the UNIX epoch. If `start_time` is not specified, the start + time will default to one resolution before the end time, meaning that the most + recent sample of performance data will be displayed. If `end_time`is not + specified, the end time will default to the current time. Include the + `resolution` parameter to display the performance data at the specified + resolution. If not specified, `resolution` defaults to the lowest valid + resolution. + resolution (int, optional): + The number of milliseconds between samples of historical data. For array-wide + performance metrics (`/arrays/performance` endpoint), valid values are `1000` (1 + second), `30000` (30 seconds), `300000` (5 minutes), `1800000` (30 minutes), + `7200000` (2 hours), `28800000` (8 hours), and `86400000` (24 hours). For + performance metrics on storage objects (`/performance` endpoint), + such as volumes, valid values are `30000` (30 seconds), `300000` (5 minutes), + `1800000` (30 minutes), `7200000` (2 hours), `28800000` (8 hours), and + `86400000` (24 hours). For space metrics, (`/space` endpoint), + valid values are `300000` (5 minutes), `1800000` (30 minutes), `7200000` (2 + hours), `28800000` (8 hours), and `86400000` (24 hours). Include the + `start_time` parameter to display the performance data starting at the specified + start time. If `start_time` is not specified, the start time will default to one + resolution before the end time, meaning that the most recent sample of + performance data will be displayed. Include the `end_time` parameter to display + the performance data until the specified end time. If `end_time`is not + specified, the end time will default to the current time. If the `resolution` + parameter is not specified but either the `start_time` or `end_time` parameter + is, then `resolution` will default to the lowest valid resolution. + start_time (int, optional): + Displays historical performance data for the specified time window, where + `start_time` is the beginning of the time window, and `end_time` is the end of + the time window. The `start_time` and `end_time` parameters are specified in + milliseconds since the UNIX epoch. If `start_time` is not specified, the start + time will default to one resolution before the end time, meaning that the most + recent sample of performance data will be displayed. If `end_time`is not + specified, the end time will default to the current time. Include the + `resolution` parameter to display the performance data at the specified + resolution. If not specified, `resolution` defaults to the lowest valid + resolution. + ids (list[str], optional): + Performs the operation on the unique resource IDs specified. Enter multiple + resource IDs in comma-separated format. The `ids` or `names` parameter is + required, but they cannot be set together. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + protocol (str, optional): + Protocol type. Valid values are `nfs`, `smb`, and `all`. + protocol_group (str, optional): + Protocol group type. Valid values are `block`, `file`, and `all`. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + total_only (bool, optional): + If set to `true`, returns the aggregate value of all items after filtering. + Where it makes more sense, the average value is displayed instead. The values + are displayed for each name where meaningful. If `total_only=true`, the `items` + list will be empty. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + destroyed=destroyed, + filter=filter, + end_time=end_time, + resolution=resolution, + start_time=start_time, + ids=ids, + limit=limit, + names=names, + offset=offset, + protocol=protocol, + protocol_group=protocol_group, + sort=sort, + total_item_count=total_item_count, + total_only=total_only, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._pods_api.api226_pods_performance_by_array_get_with_http_info + _process_references(references, ['ids', 'names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_pods_performance( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + destroyed=None, # type: bool + filter=None, # type: str + end_time=None, # type: int + resolution=None, # type: int + start_time=None, # type: int + ids=None, # type: List[str] + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + protocol=None, # type: str + protocol_group=None, # type: str + sort=None, # type: List[str] + total_item_count=None, # type: bool + total_only=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PodPerformanceGetResponse + """ + Displays real-time and historical performance data, real-time latency data, and + average I/O sizes across all pods, displayed both by pod and as a total across + all pods. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides ids and names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + destroyed (bool, optional): + If set to `true`, lists only destroyed objects that are in the eradication + pending state. If set to `false`, lists only objects that are not destroyed. For + destroyed objects, the time remaining is displayed in milliseconds. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + end_time (int, optional): + Displays historical performance data for the specified time window, where + `start_time` is the beginning of the time window, and `end_time` is the end of + the time window. The `start_time` and `end_time` parameters are specified in + milliseconds since the UNIX epoch. If `start_time` is not specified, the start + time will default to one resolution before the end time, meaning that the most + recent sample of performance data will be displayed. If `end_time`is not + specified, the end time will default to the current time. Include the + `resolution` parameter to display the performance data at the specified + resolution. If not specified, `resolution` defaults to the lowest valid + resolution. + resolution (int, optional): + The number of milliseconds between samples of historical data. For array-wide + performance metrics (`/arrays/performance` endpoint), valid values are `1000` (1 + second), `30000` (30 seconds), `300000` (5 minutes), `1800000` (30 minutes), + `7200000` (2 hours), `28800000` (8 hours), and `86400000` (24 hours). For + performance metrics on storage objects (`/performance` endpoint), + such as volumes, valid values are `30000` (30 seconds), `300000` (5 minutes), + `1800000` (30 minutes), `7200000` (2 hours), `28800000` (8 hours), and + `86400000` (24 hours). For space metrics, (`/space` endpoint), + valid values are `300000` (5 minutes), `1800000` (30 minutes), `7200000` (2 + hours), `28800000` (8 hours), and `86400000` (24 hours). Include the + `start_time` parameter to display the performance data starting at the specified + start time. If `start_time` is not specified, the start time will default to one + resolution before the end time, meaning that the most recent sample of + performance data will be displayed. Include the `end_time` parameter to display + the performance data until the specified end time. If `end_time`is not + specified, the end time will default to the current time. If the `resolution` + parameter is not specified but either the `start_time` or `end_time` parameter + is, then `resolution` will default to the lowest valid resolution. + start_time (int, optional): + Displays historical performance data for the specified time window, where + `start_time` is the beginning of the time window, and `end_time` is the end of + the time window. The `start_time` and `end_time` parameters are specified in + milliseconds since the UNIX epoch. If `start_time` is not specified, the start + time will default to one resolution before the end time, meaning that the most + recent sample of performance data will be displayed. If `end_time`is not + specified, the end time will default to the current time. Include the + `resolution` parameter to display the performance data at the specified + resolution. If not specified, `resolution` defaults to the lowest valid + resolution. + ids (list[str], optional): + Performs the operation on the unique resource IDs specified. Enter multiple + resource IDs in comma-separated format. The `ids` or `names` parameter is + required, but they cannot be set together. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + protocol (str, optional): + Protocol type. Valid values are `nfs`, `smb`, and `all`. + protocol_group (str, optional): + Protocol group type. Valid values are `block`, `file`, and `all`. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + total_only (bool, optional): + If set to `true`, returns the aggregate value of all items after filtering. + Where it makes more sense, the average value is displayed instead. The values + are displayed for each name where meaningful. If `total_only=true`, the `items` + list will be empty. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + destroyed=destroyed, + filter=filter, + end_time=end_time, + resolution=resolution, + start_time=start_time, + ids=ids, + limit=limit, + names=names, + offset=offset, + protocol=protocol, + protocol_group=protocol_group, + sort=sort, + total_item_count=total_item_count, + total_only=total_only, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._pods_api.api226_pods_performance_get_with_http_info + _process_references(references, ['ids', 'names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_pods_performance_replication_by_array( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + destroyed=None, # type: bool + filter=None, # type: str + end_time=None, # type: int + resolution=None, # type: int + start_time=None, # type: int + ids=None, # type: List[str] + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + total_only=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PodPerformanceReplicationByArrayGetResponse + """ + Displays pod replication performance data, organized by array. The data returned + is the real-time and historical performance data for each replication type at + the pod level. Values include `continuous`, `periodic`, `resync`, and `sync`. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides ids and names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + destroyed (bool, optional): + If set to `true`, lists only destroyed objects that are in the eradication + pending state. If set to `false`, lists only objects that are not destroyed. For + destroyed objects, the time remaining is displayed in milliseconds. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + end_time (int, optional): + Displays historical performance data for the specified time window, where + `start_time` is the beginning of the time window, and `end_time` is the end of + the time window. The `start_time` and `end_time` parameters are specified in + milliseconds since the UNIX epoch. If `start_time` is not specified, the start + time will default to one resolution before the end time, meaning that the most + recent sample of performance data will be displayed. If `end_time`is not + specified, the end time will default to the current time. Include the + `resolution` parameter to display the performance data at the specified + resolution. If not specified, `resolution` defaults to the lowest valid + resolution. + resolution (int, optional): + The number of milliseconds between samples of historical data. For array-wide + performance metrics (`/arrays/performance` endpoint), valid values are `1000` (1 + second), `30000` (30 seconds), `300000` (5 minutes), `1800000` (30 minutes), + `7200000` (2 hours), `28800000` (8 hours), and `86400000` (24 hours). For + performance metrics on storage objects (`/performance` endpoint), + such as volumes, valid values are `30000` (30 seconds), `300000` (5 minutes), + `1800000` (30 minutes), `7200000` (2 hours), `28800000` (8 hours), and + `86400000` (24 hours). For space metrics, (`/space` endpoint), + valid values are `300000` (5 minutes), `1800000` (30 minutes), `7200000` (2 + hours), `28800000` (8 hours), and `86400000` (24 hours). Include the + `start_time` parameter to display the performance data starting at the specified + start time. If `start_time` is not specified, the start time will default to one + resolution before the end time, meaning that the most recent sample of + performance data will be displayed. Include the `end_time` parameter to display + the performance data until the specified end time. If `end_time`is not + specified, the end time will default to the current time. If the `resolution` + parameter is not specified but either the `start_time` or `end_time` parameter + is, then `resolution` will default to the lowest valid resolution. + start_time (int, optional): + Displays historical performance data for the specified time window, where + `start_time` is the beginning of the time window, and `end_time` is the end of + the time window. The `start_time` and `end_time` parameters are specified in + milliseconds since the UNIX epoch. If `start_time` is not specified, the start + time will default to one resolution before the end time, meaning that the most + recent sample of performance data will be displayed. If `end_time`is not + specified, the end time will default to the current time. Include the + `resolution` parameter to display the performance data at the specified + resolution. If not specified, `resolution` defaults to the lowest valid + resolution. + ids (list[str], optional): + Performs the operation on the unique resource IDs specified. Enter multiple + resource IDs in comma-separated format. The `ids` or `names` parameter is + required, but they cannot be set together. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + total_only (bool, optional): + If set to `true`, returns the aggregate value of all items after filtering. + Where it makes more sense, the average value is displayed instead. The values + are displayed for each name where meaningful. If `total_only=true`, the `items` + list will be empty. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + destroyed=destroyed, + filter=filter, + end_time=end_time, + resolution=resolution, + start_time=start_time, + ids=ids, + limit=limit, + names=names, + offset=offset, + sort=sort, + total_item_count=total_item_count, + total_only=total_only, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._pods_api.api226_pods_performance_replication_by_array_get_with_http_info + _process_references(references, ['ids', 'names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_pods_performance_replication( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + destroyed=None, # type: bool + filter=None, # type: str + end_time=None, # type: int + resolution=None, # type: int + start_time=None, # type: int + ids=None, # type: List[str] + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + total_only=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PodPerformanceReplicationGetResponse + """ + Displays pod replication performance data. The data returned is the real-time + and historical performance data for each replication type at the pod level. + Values include `continuous`, `periodic`, `resync`, and `sync`. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides ids and names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + destroyed (bool, optional): + If set to `true`, lists only destroyed objects that are in the eradication + pending state. If set to `false`, lists only objects that are not destroyed. For + destroyed objects, the time remaining is displayed in milliseconds. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + end_time (int, optional): + Displays historical performance data for the specified time window, where + `start_time` is the beginning of the time window, and `end_time` is the end of + the time window. The `start_time` and `end_time` parameters are specified in + milliseconds since the UNIX epoch. If `start_time` is not specified, the start + time will default to one resolution before the end time, meaning that the most + recent sample of performance data will be displayed. If `end_time`is not + specified, the end time will default to the current time. Include the + `resolution` parameter to display the performance data at the specified + resolution. If not specified, `resolution` defaults to the lowest valid + resolution. + resolution (int, optional): + The number of milliseconds between samples of historical data. For array-wide + performance metrics (`/arrays/performance` endpoint), valid values are `1000` (1 + second), `30000` (30 seconds), `300000` (5 minutes), `1800000` (30 minutes), + `7200000` (2 hours), `28800000` (8 hours), and `86400000` (24 hours). For + performance metrics on storage objects (`/performance` endpoint), + such as volumes, valid values are `30000` (30 seconds), `300000` (5 minutes), + `1800000` (30 minutes), `7200000` (2 hours), `28800000` (8 hours), and + `86400000` (24 hours). For space metrics, (`/space` endpoint), + valid values are `300000` (5 minutes), `1800000` (30 minutes), `7200000` (2 + hours), `28800000` (8 hours), and `86400000` (24 hours). Include the + `start_time` parameter to display the performance data starting at the specified + start time. If `start_time` is not specified, the start time will default to one + resolution before the end time, meaning that the most recent sample of + performance data will be displayed. Include the `end_time` parameter to display + the performance data until the specified end time. If `end_time`is not + specified, the end time will default to the current time. If the `resolution` + parameter is not specified but either the `start_time` or `end_time` parameter + is, then `resolution` will default to the lowest valid resolution. + start_time (int, optional): + Displays historical performance data for the specified time window, where + `start_time` is the beginning of the time window, and `end_time` is the end of + the time window. The `start_time` and `end_time` parameters are specified in + milliseconds since the UNIX epoch. If `start_time` is not specified, the start + time will default to one resolution before the end time, meaning that the most + recent sample of performance data will be displayed. If `end_time`is not + specified, the end time will default to the current time. Include the + `resolution` parameter to display the performance data at the specified + resolution. If not specified, `resolution` defaults to the lowest valid + resolution. + ids (list[str], optional): + Performs the operation on the unique resource IDs specified. Enter multiple + resource IDs in comma-separated format. The `ids` or `names` parameter is + required, but they cannot be set together. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + total_only (bool, optional): + If set to `true`, only return the aggregate value of all items after filtering. + For real-time performance, the values are aggregated for the latest timestamp. + For historical performance, the values are aggregated for each timestamp from + `start_time` to `end_time`. Where it makes more sense, the average value is + displayed instead. The values are displayed for each name where meaningful. If + `total_only=true`, the `items` list will be empty. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + destroyed=destroyed, + filter=filter, + end_time=end_time, + resolution=resolution, + start_time=start_time, + ids=ids, + limit=limit, + names=names, + offset=offset, + sort=sort, + total_item_count=total_item_count, + total_only=total_only, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._pods_api.api226_pods_performance_replication_get_with_http_info + _process_references(references, ['ids', 'names'], kwargs) + return self._call_api(endpoint, kwargs) + + def post_pods( + self, + references=None, # type: List[models.ReferenceType] + pod=None, # type: models.PodPost + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PodResponse + """ + Creates a pod on the local array. Each pod must be given a name that is unique + across the arrays to which they are stretched, so a pod cannot be stretched to + an array that already contains a pod with the same name. After a pod has been + created, add volumes and protection groups to the pod, and then stretch the pod + to another (connected) array. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names keyword arguments. + + pod (PodPost, required): + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + pod=pod, + authorization=authorization, + x_request_id=x_request_id, + names=names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._pods_api.api226_pods_post_with_http_info + _process_references(references, ['names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_pods_space( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + destroyed=None, # type: bool + filter=None, # type: str + end_time=None, # type: int + resolution=None, # type: int + start_time=None, # type: int + ids=None, # type: List[str] + limit=None, # type: int + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + total_only=None, # type: bool + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.ResourcePodSpaceGetResponse + """ + Displays provisioned size and physical storage consumption data for each pod on + the local array. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides ids and names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + destroyed (bool, optional): + If set to `true`, lists only destroyed objects that are in the eradication + pending state. If set to `false`, lists only objects that are not destroyed. For + destroyed objects, the time remaining is displayed in milliseconds. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + end_time (int, optional): + Displays historical performance data for the specified time window, where + `start_time` is the beginning of the time window, and `end_time` is the end of + the time window. The `start_time` and `end_time` parameters are specified in + milliseconds since the UNIX epoch. If `start_time` is not specified, the start + time will default to one resolution before the end time, meaning that the most + recent sample of performance data will be displayed. If `end_time`is not + specified, the end time will default to the current time. Include the + `resolution` parameter to display the performance data at the specified + resolution. If not specified, `resolution` defaults to the lowest valid + resolution. + resolution (int, optional): + The number of milliseconds between samples of historical data. For array-wide + performance metrics (`/arrays/performance` endpoint), valid values are `1000` (1 + second), `30000` (30 seconds), `300000` (5 minutes), `1800000` (30 minutes), + `7200000` (2 hours), `28800000` (8 hours), and `86400000` (24 hours). For + performance metrics on storage objects (`/performance` endpoint), + such as volumes, valid values are `30000` (30 seconds), `300000` (5 minutes), + `1800000` (30 minutes), `7200000` (2 hours), `28800000` (8 hours), and + `86400000` (24 hours). For space metrics, (`/space` endpoint), + valid values are `300000` (5 minutes), `1800000` (30 minutes), `7200000` (2 + hours), `28800000` (8 hours), and `86400000` (24 hours). Include the + `start_time` parameter to display the performance data starting at the specified + start time. If `start_time` is not specified, the start time will default to one + resolution before the end time, meaning that the most recent sample of + performance data will be displayed. Include the `end_time` parameter to display + the performance data until the specified end time. If `end_time`is not + specified, the end time will default to the current time. If the `resolution` + parameter is not specified but either the `start_time` or `end_time` parameter + is, then `resolution` will default to the lowest valid resolution. + start_time (int, optional): + Displays historical performance data for the specified time window, where + `start_time` is the beginning of the time window, and `end_time` is the end of + the time window. The `start_time` and `end_time` parameters are specified in + milliseconds since the UNIX epoch. If `start_time` is not specified, the start + time will default to one resolution before the end time, meaning that the most + recent sample of performance data will be displayed. If `end_time`is not + specified, the end time will default to the current time. Include the + `resolution` parameter to display the performance data at the specified + resolution. If not specified, `resolution` defaults to the lowest valid + resolution. + ids (list[str], optional): + Performs the operation on the unique resource IDs specified. Enter multiple + resource IDs in comma-separated format. The `ids` or `names` parameter is + required, but they cannot be set together. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + total_only (bool, optional): + If set to `true`, returns the aggregate value of all items after filtering. + Where it makes more sense, the average value is displayed instead. The values + are displayed for each name where meaningful. If `total_only=true`, the `items` + list will be empty. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + destroyed=destroyed, + filter=filter, + end_time=end_time, + resolution=resolution, + start_time=start_time, + ids=ids, + limit=limit, + offset=offset, + sort=sort, + total_item_count=total_item_count, + total_only=total_only, + names=names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._pods_api.api226_pods_space_get_with_http_info + _process_references(references, ['ids', 'names'], kwargs) + return self._call_api(endpoint, kwargs) + + def delete_policies_autodir( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + ids=None, # type: List[str] + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """ + Deletes one or more auto managed directory policies. The `ids` or `names` + parameter is required, but they cannot be set together. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides ids and names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + ids (list[str], optional): + Performs the operation on the unique resource IDs specified. Enter multiple + resource IDs in comma-separated format. The `ids` or `names` parameter is + required, but they cannot be set together. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + ids=ids, + names=names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._policies_api.api226_policies_autodir_delete_with_http_info + _process_references(references, ['ids', 'names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_policies_autodir( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + destroyed=None, # type: bool + filter=None, # type: str + ids=None, # type: List[str] + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PolicyGetResponse + """ + Displays a list of auto managed directory policies. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides ids and names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + continuation_token (str, optional): + An opaque token to iterate over a collection of resources. + destroyed (bool, optional): + If set to `true`, lists only destroyed objects that are in the eradication + pending state. If set to `false`, lists only objects that are not destroyed. For + destroyed objects, the time remaining is displayed in milliseconds. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + ids (list[str], optional): + Performs the operation on the unique resource IDs specified. Enter multiple + resource IDs in comma-separated format. The `ids` or `names` parameter is + required, but they cannot be set together. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + continuation_token=continuation_token, + destroyed=destroyed, + filter=filter, + ids=ids, + limit=limit, + names=names, + offset=offset, + sort=sort, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._policies_api.api226_policies_autodir_get_with_http_info + _process_references(references, ['ids', 'names'], kwargs) + return self._call_api(endpoint, kwargs) + + def delete_policies_autodir_members( + self, + members=None, # type: List[models.ReferenceType] + policies=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + member_ids=None, # type: List[str] + member_names=None, # type: List[str] + member_types=None, # type: List[str] + policy_ids=None, # type: List[str] + policy_names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """ + Deletes one or more auto managed directory policies from resources. The + `policy_ids` or `policy_names` parameter is required, but they cannot be set + together. The `member_ids` or `member_names` parameter is required, but they + cannot be set together. + + Args: + members (list[FixedReference], optional): + A list of members to query for. Overrides member_ids and member_names keyword arguments. + policies (list[FixedReference], optional): + A list of policies to query for. Overrides policy_ids and policy_names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + member_ids (list[str], optional): + Performs the operation on the unique member IDs specified. Enter multiple member + IDs in comma-separated format. The `member_ids` or `member_names` parameter is + required, but they cannot be set together. + member_names (list[str], optional): + Performs the operation on the unique member name specified. Examples of members + include volumes, hosts, host groups, and directories. Enter multiple names in + comma-separated format. For example, `vol01,vol02`. + member_types (list[str], optional): + Performs the operation on the member types specified. The type of member is the + full name of the resource endpoint. Valid values include `directories`. Enter + multiple member types in comma-separated format. For example, `type01,type02`. + policy_ids (list[str], optional): + Performs the operation on the unique policy IDs specified. Enter multiple policy + IDs in comma-separated format. The `policy_ids` or `policy_names` parameter is + required, but they cannot be set together. + policy_names (list[str], optional): + Performs the operation on the policy names specified. Enter multiple policy + names in comma-separated format. For example, `name01,name02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + member_ids=member_ids, + member_names=member_names, + member_types=member_types, + policy_ids=policy_ids, + policy_names=policy_names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._policies_api.api226_policies_autodir_members_delete_with_http_info + _process_references(members, ['member_ids', 'member_names'], kwargs) + _process_references(policies, ['policy_ids', 'policy_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_policies_autodir_members( + self, + members=None, # type: List[models.ReferenceType] + policies=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + destroyed=None, # type: bool + filter=None, # type: str + limit=None, # type: int + member_ids=None, # type: List[str] + member_names=None, # type: List[str] + member_types=None, # type: List[str] + policy_ids=None, # type: List[str] + policy_names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PolicyMemberGetResponse + """ + Displays a list of auto managed directory policy members. + + Args: + members (list[FixedReference], optional): + A list of members to query for. Overrides member_ids and member_names keyword arguments. + policies (list[FixedReference], optional): + A list of policies to query for. Overrides policy_ids and policy_names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + continuation_token (str, optional): + An opaque token to iterate over a collection of resources. + destroyed (bool, optional): + If set to `true`, lists only destroyed objects that are in the eradication + pending state. If set to `false`, lists only objects that are not destroyed. For + destroyed objects, the time remaining is displayed in milliseconds. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + member_ids (list[str], optional): + Performs the operation on the unique member IDs specified. Enter multiple member + IDs in comma-separated format. The `member_ids` or `member_names` parameter is + required, but they cannot be set together. + member_names (list[str], optional): + Performs the operation on the unique member name specified. Examples of members + include volumes, hosts, host groups, and directories. Enter multiple names in + comma-separated format. For example, `vol01,vol02`. + member_types (list[str], optional): + Performs the operation on the member types specified. The type of member is the + full name of the resource endpoint. Valid values include `directories`. Enter + multiple member types in comma-separated format. For example, `type01,type02`. + policy_ids (list[str], optional): + Performs the operation on the unique policy IDs specified. Enter multiple policy + IDs in comma-separated format. The `policy_ids` or `policy_names` parameter is + required, but they cannot be set together. + policy_names (list[str], optional): + Performs the operation on the policy names specified. Enter multiple policy + names in comma-separated format. For example, `name01,name02`. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + continuation_token=continuation_token, + destroyed=destroyed, + filter=filter, + limit=limit, + member_ids=member_ids, + member_names=member_names, + member_types=member_types, + policy_ids=policy_ids, + policy_names=policy_names, + offset=offset, + sort=sort, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._policies_api.api226_policies_autodir_members_get_with_http_info + _process_references(members, ['member_ids', 'member_names'], kwargs) + _process_references(policies, ['policy_ids', 'policy_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def post_policies_autodir_members( + self, + policies=None, # type: List[models.ReferenceType] + members=None, # type: models.PolicyMemberPost + authorization=None, # type: str + x_request_id=None, # type: str + policy_ids=None, # type: List[str] + policy_names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PolicyMemberResponse + """ + Creates a membership between one or more resources with an auto managed + directory policy. Applicable resources are directories. The `policy_ids` or + `policy_names` parameter is required, but they cannot be set together. + + Args: + policies (list[FixedReference], optional): + A list of policies to query for. Overrides policy_ids and policy_names keyword arguments. + + members (PolicyMemberPost, required): + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + policy_ids (list[str], optional): + Performs the operation on the unique policy IDs specified. Enter multiple policy + IDs in comma-separated format. The `policy_ids` or `policy_names` parameter is + required, but they cannot be set together. + policy_names (list[str], optional): + Performs the operation on the policy names specified. Enter multiple policy + names in comma-separated format. For example, `name01,name02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + members=members, + authorization=authorization, + x_request_id=x_request_id, + policy_ids=policy_ids, + policy_names=policy_names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._policies_api.api226_policies_autodir_members_post_with_http_info + _process_references(policies, ['policy_ids', 'policy_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def patch_policies_autodir( + self, + references=None, # type: List[models.ReferenceType] + policy=None, # type: models.PolicyPatch + authorization=None, # type: str + x_request_id=None, # type: str + ids=None, # type: List[str] + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PolicyResponse + """ + Modifies one or more auto managed directory policies. To enable a policy, set + `enabled=true`. To disable a policy, set `enabled=true`. To rename a policy, set + `name` to the new name. The `ids` or `names` parameter is required, but they + cannot be set together. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides ids and names keyword arguments. + + policy (PolicyPatch, required): + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + ids (list[str], optional): + Performs the operation on the unique resource IDs specified. Enter multiple + resource IDs in comma-separated format. The `ids` or `names` parameter is + required, but they cannot be set together. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + policy=policy, + authorization=authorization, + x_request_id=x_request_id, + ids=ids, + names=names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._policies_api.api226_policies_autodir_patch_with_http_info + _process_references(references, ['ids', 'names'], kwargs) + return self._call_api(endpoint, kwargs) + + def post_policies_autodir( + self, + references=None, # type: List[models.ReferenceType] + sources=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + source_ids=None, # type: List[str] + source_names=None, # type: List[str] + policy=None, # type: models.PolicyPost + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PolicyResponse + """ + Creates one or more auto managed directory policies. To copy a policy, set one + of either `source_names` or `source_ids`. Each policy can only have one entry. + To create a policy from scratch, policy body is required. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names keyword arguments. + sources (list[FixedReference], optional): + A list of sources to query for. Overrides source_ids and source_names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + source_ids (list[str], optional): + Performs the operation on the source ID specified. Enter multiple source IDs in + comma-separated format. + source_names (list[str], optional): + Performs the operation on the source name specified. Enter multiple source names + in comma-separated format. For example, `name01,name02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + names=names, + source_ids=source_ids, + source_names=source_names, + policy=policy, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._policies_api.api226_policies_autodir_post_with_http_info + _process_references(references, ['names'], kwargs) + _process_references(sources, ['source_ids', 'source_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_policies( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + destroyed=None, # type: bool + filter=None, # type: str + ids=None, # type: List[str] + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PolicyGetResponse + """ + Displays a list of policies. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides ids and names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + continuation_token (str, optional): + An opaque token to iterate over a collection of resources. + destroyed (bool, optional): + If set to `true`, lists only destroyed objects that are in the eradication + pending state. If set to `false`, lists only objects that are not destroyed. For + destroyed objects, the time remaining is displayed in milliseconds. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + ids (list[str], optional): + Performs the operation on the unique resource IDs specified. Enter multiple + resource IDs in comma-separated format. The `ids` or `names` parameter is + required, but they cannot be set together. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + continuation_token=continuation_token, + destroyed=destroyed, + filter=filter, + ids=ids, + limit=limit, + names=names, + offset=offset, + sort=sort, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._policies_api.api226_policies_get_with_http_info + _process_references(references, ['ids', 'names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_policies_members( + self, + members=None, # type: List[models.ReferenceType] + policies=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + destroyed=None, # type: bool + filter=None, # type: str + limit=None, # type: int + member_ids=None, # type: List[str] + member_names=None, # type: List[str] + member_types=None, # type: List[str] + policy_ids=None, # type: List[str] + policy_names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PolicyMemberGetResponse + """ + Displays a list of policy members. + + Args: + members (list[FixedReference], optional): + A list of members to query for. Overrides member_ids and member_names keyword arguments. + policies (list[FixedReference], optional): + A list of policies to query for. Overrides policy_ids and policy_names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + continuation_token (str, optional): + An opaque token to iterate over a collection of resources. + destroyed (bool, optional): + If set to `true`, lists only destroyed objects that are in the eradication + pending state. If set to `false`, lists only objects that are not destroyed. For + destroyed objects, the time remaining is displayed in milliseconds. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + member_ids (list[str], optional): + Performs the operation on the unique member IDs specified. Enter multiple member + IDs in comma-separated format. The `member_ids` or `member_names` parameter is + required, but they cannot be set together. + member_names (list[str], optional): + Performs the operation on the unique member name specified. Examples of members + include volumes, hosts, host groups, and directories. Enter multiple names in + comma-separated format. For example, `vol01,vol02`. + member_types (list[str], optional): + Performs the operation on the member types specified. The type of member is the + full name of the resource endpoint. Valid values include `directories`. Enter + multiple member types in comma-separated format. For example, `type01,type02`. + policy_ids (list[str], optional): + Performs the operation on the unique policy IDs specified. Enter multiple policy + IDs in comma-separated format. The `policy_ids` or `policy_names` parameter is + required, but they cannot be set together. + policy_names (list[str], optional): + Performs the operation on the policy names specified. Enter multiple policy + names in comma-separated format. For example, `name01,name02`. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + continuation_token=continuation_token, + destroyed=destroyed, + filter=filter, + limit=limit, + member_ids=member_ids, + member_names=member_names, + member_types=member_types, + policy_ids=policy_ids, + policy_names=policy_names, + offset=offset, + sort=sort, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._policies_api.api226_policies_members_get_with_http_info + _process_references(members, ['member_ids', 'member_names'], kwargs) + _process_references(policies, ['policy_ids', 'policy_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def delete_policies_nfs_client_rules( + self, + references=None, # type: List[models.ReferenceType] + policies=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + policy_ids=None, # type: List[str] + policy_names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """ + Deletes one or more NFS client policy rules. The `policy_ids` or `policy_names` + parameter is required, but they cannot be set together. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names keyword arguments. + policies (list[FixedReference], optional): + A list of policies to query for. Overrides policy_ids and policy_names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + policy_ids (list[str], optional): + Performs the operation on the unique policy IDs specified. Enter multiple policy + IDs in comma-separated format. The `policy_ids` or `policy_names` parameter is + required, but they cannot be set together. + policy_names (list[str], optional): + Performs the operation on the policy names specified. Enter multiple policy + names in comma-separated format. For example, `name01,name02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + names=names, + policy_ids=policy_ids, + policy_names=policy_names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._policies_api.api226_policies_nfs_client_rules_delete_with_http_info + _process_references(references, ['names'], kwargs) + _process_references(policies, ['policy_ids', 'policy_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_policies_nfs_client_rules( + self, + references=None, # type: List[models.ReferenceType] + policies=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + destroyed=None, # type: bool + filter=None, # type: str + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + policy_ids=None, # type: List[str] + policy_names=None, # type: List[str] + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PolicyRuleNfsClientGetResponse + """ + Displays a list of NFS client policy rules. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names keyword arguments. + policies (list[FixedReference], optional): + A list of policies to query for. Overrides policy_ids and policy_names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + continuation_token (str, optional): + An opaque token to iterate over a collection of resources. + destroyed (bool, optional): + If set to `true`, lists only destroyed objects that are in the eradication + pending state. If set to `false`, lists only objects that are not destroyed. For + destroyed objects, the time remaining is displayed in milliseconds. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + policy_ids (list[str], optional): + Performs the operation on the unique policy IDs specified. Enter multiple policy + IDs in comma-separated format. The `policy_ids` or `policy_names` parameter is + required, but they cannot be set together. + policy_names (list[str], optional): + Performs the operation on the policy names specified. Enter multiple policy + names in comma-separated format. For example, `name01,name02`. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + continuation_token=continuation_token, + destroyed=destroyed, + filter=filter, + limit=limit, + names=names, + offset=offset, + policy_ids=policy_ids, + policy_names=policy_names, + sort=sort, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._policies_api.api226_policies_nfs_client_rules_get_with_http_info + _process_references(references, ['names'], kwargs) + _process_references(policies, ['policy_ids', 'policy_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def post_policies_nfs_client_rules( + self, + policies=None, # type: List[models.ReferenceType] + rules=None, # type: models.PolicyRuleNfsClientPost + authorization=None, # type: str + x_request_id=None, # type: str + policy_ids=None, # type: List[str] + policy_names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PolicyRuleNfsClientResponse + """ + Creates one or more NFS client policy rules. The `policy_ids` or `policy_names` + parameter is required, but they cannot be set together. + + Args: + policies (list[FixedReference], optional): + A list of policies to query for. Overrides policy_ids and policy_names keyword arguments. + + rules (PolicyRuleNfsClientPost, required): + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + policy_ids (list[str], optional): + Performs the operation on the unique policy IDs specified. Enter multiple policy + IDs in comma-separated format. The `policy_ids` or `policy_names` parameter is + required, but they cannot be set together. + policy_names (list[str], optional): + Performs the operation on the policy names specified. Enter multiple policy + names in comma-separated format. For example, `name01,name02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + rules=rules, + authorization=authorization, + x_request_id=x_request_id, + policy_ids=policy_ids, + policy_names=policy_names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._policies_api.api226_policies_nfs_client_rules_post_with_http_info + _process_references(policies, ['policy_ids', 'policy_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def delete_policies_nfs( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + ids=None, # type: List[str] + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """ + Deletes one or more NFS policies. The `ids` or `names` parameter is required, + but they cannot be set together. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides ids and names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + ids (list[str], optional): + Performs the operation on the unique resource IDs specified. Enter multiple + resource IDs in comma-separated format. The `ids` or `names` parameter is + required, but they cannot be set together. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + ids=ids, + names=names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._policies_api.api226_policies_nfs_delete_with_http_info + _process_references(references, ['ids', 'names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_policies_nfs( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + destroyed=None, # type: bool + filter=None, # type: str + ids=None, # type: List[str] + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PolicyNfsGetResponse + """ + Displays a list of NFS policies. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides ids and names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + continuation_token (str, optional): + An opaque token to iterate over a collection of resources. + destroyed (bool, optional): + If set to `true`, lists only destroyed objects that are in the eradication + pending state. If set to `false`, lists only objects that are not destroyed. For + destroyed objects, the time remaining is displayed in milliseconds. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + ids (list[str], optional): + Performs the operation on the unique resource IDs specified. Enter multiple + resource IDs in comma-separated format. The `ids` or `names` parameter is + required, but they cannot be set together. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + continuation_token=continuation_token, + destroyed=destroyed, + filter=filter, + ids=ids, + limit=limit, + names=names, + offset=offset, + sort=sort, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._policies_api.api226_policies_nfs_get_with_http_info + _process_references(references, ['ids', 'names'], kwargs) + return self._call_api(endpoint, kwargs) + + def delete_policies_nfs_members( + self, + members=None, # type: List[models.ReferenceType] + policies=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + member_ids=None, # type: List[str] + member_names=None, # type: List[str] + member_types=None, # type: List[str] + policy_ids=None, # type: List[str] + policy_names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """ + Deletes one or more NFS policies from resources. The `policy_ids` or + `policy_names` parameter is required, but cannot be set together. The + `member_ids` or `member_names` parameter is required, but cannot be set + together. + + Args: + members (list[FixedReference], optional): + A list of members to query for. Overrides member_ids and member_names keyword arguments. + policies (list[FixedReference], optional): + A list of policies to query for. Overrides policy_ids and policy_names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + member_ids (list[str], optional): + Performs the operation on the unique member IDs specified. Enter multiple member + IDs in comma-separated format. The `member_ids` or `member_names` parameter is + required, but they cannot be set together. + member_names (list[str], optional): + Performs the operation on the unique member name specified. Examples of members + include volumes, hosts, host groups, and directories. Enter multiple names in + comma-separated format. For example, `vol01,vol02`. + member_types (list[str], optional): + Performs the operation on the member types specified. The type of member is the + full name of the resource endpoint. Valid values include `directories`. Enter + multiple member types in comma-separated format. For example, `type01,type02`. + policy_ids (list[str], optional): + Performs the operation on the unique policy IDs specified. Enter multiple policy + IDs in comma-separated format. The `policy_ids` or `policy_names` parameter is + required, but they cannot be set together. + policy_names (list[str], optional): + Performs the operation on the policy names specified. Enter multiple policy + names in comma-separated format. For example, `name01,name02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + member_ids=member_ids, + member_names=member_names, + member_types=member_types, + policy_ids=policy_ids, + policy_names=policy_names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._policies_api.api226_policies_nfs_members_delete_with_http_info + _process_references(members, ['member_ids', 'member_names'], kwargs) + _process_references(policies, ['policy_ids', 'policy_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_policies_nfs_members( + self, + members=None, # type: List[models.ReferenceType] + policies=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + destroyed=None, # type: bool + filter=None, # type: str + limit=None, # type: int + member_ids=None, # type: List[str] + member_names=None, # type: List[str] + member_types=None, # type: List[str] + policy_ids=None, # type: List[str] + policy_names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PolicyMemberExportGetResponse + """ + Displays a list of NFS policy members. + + Args: + members (list[FixedReference], optional): + A list of members to query for. Overrides member_ids and member_names keyword arguments. + policies (list[FixedReference], optional): + A list of policies to query for. Overrides policy_ids and policy_names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + continuation_token (str, optional): + An opaque token to iterate over a collection of resources. + destroyed (bool, optional): + If set to `true`, lists only destroyed objects that are in the eradication + pending state. If set to `false`, lists only objects that are not destroyed. For + destroyed objects, the time remaining is displayed in milliseconds. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + member_ids (list[str], optional): + Performs the operation on the unique member IDs specified. Enter multiple member + IDs in comma-separated format. The `member_ids` or `member_names` parameter is + required, but they cannot be set together. + member_names (list[str], optional): + Performs the operation on the unique member name specified. Examples of members + include volumes, hosts, host groups, and directories. Enter multiple names in + comma-separated format. For example, `vol01,vol02`. + member_types (list[str], optional): + Performs the operation on the member types specified. The type of member is the + full name of the resource endpoint. Valid values include `directories`. Enter + multiple member types in comma-separated format. For example, `type01,type02`. + policy_ids (list[str], optional): + Performs the operation on the unique policy IDs specified. Enter multiple policy + IDs in comma-separated format. The `policy_ids` or `policy_names` parameter is + required, but they cannot be set together. + policy_names (list[str], optional): + Performs the operation on the policy names specified. Enter multiple policy + names in comma-separated format. For example, `name01,name02`. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + continuation_token=continuation_token, + destroyed=destroyed, + filter=filter, + limit=limit, + member_ids=member_ids, + member_names=member_names, + member_types=member_types, + policy_ids=policy_ids, + policy_names=policy_names, + offset=offset, + sort=sort, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._policies_api.api226_policies_nfs_members_get_with_http_info + _process_references(members, ['member_ids', 'member_names'], kwargs) + _process_references(policies, ['policy_ids', 'policy_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def post_policies_nfs_members( + self, + policies=None, # type: List[models.ReferenceType] + members=None, # type: models.PolicyMemberExportPost + authorization=None, # type: str + x_request_id=None, # type: str + policy_ids=None, # type: List[str] + policy_names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PolicyMemberExportResponse + """ + Creates a membership between one or more resources and an NFS policy. Applicable + resources are directories. The `policy_ids` or `policy_names` parameter is + required, but cannot be set together. + + Args: + policies (list[FixedReference], optional): + A list of policies to query for. Overrides policy_ids and policy_names keyword arguments. + + members (PolicyMemberExportPost, required): + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + policy_ids (list[str], optional): + Performs the operation on the unique policy IDs specified. Enter multiple policy + IDs in comma-separated format. The `policy_ids` or `policy_names` parameter is + required, but they cannot be set together. + policy_names (list[str], optional): + Performs the operation on the policy names specified. Enter multiple policy + names in comma-separated format. For example, `name01,name02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + members=members, + authorization=authorization, + x_request_id=x_request_id, + policy_ids=policy_ids, + policy_names=policy_names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._policies_api.api226_policies_nfs_members_post_with_http_info + _process_references(policies, ['policy_ids', 'policy_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def patch_policies_nfs( + self, + references=None, # type: List[models.ReferenceType] + policy=None, # type: models.PolicyNfsPatch + authorization=None, # type: str + x_request_id=None, # type: str + ids=None, # type: List[str] + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PolicyNfsResponse + """ + Modifies one or more NFS policies. To enable a policy, set `enabled=true`. To + disable a policy, set `enabled=false`. To rename a policy, set `name` to the new + name. The `ids` or `names` parameter is required, but they cannot be set + together. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides ids and names keyword arguments. + + policy (PolicyNfsPatch, required): + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + ids (list[str], optional): + Performs the operation on the unique resource IDs specified. Enter multiple + resource IDs in comma-separated format. The `ids` or `names` parameter is + required, but they cannot be set together. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + policy=policy, + authorization=authorization, + x_request_id=x_request_id, + ids=ids, + names=names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._policies_api.api226_policies_nfs_patch_with_http_info + _process_references(references, ['ids', 'names'], kwargs) + return self._call_api(endpoint, kwargs) + + def post_policies_nfs( + self, + references=None, # type: List[models.ReferenceType] + sources=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + source_ids=None, # type: List[str] + source_names=None, # type: List[str] + policy=None, # type: models.PolicyNfsPost + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PolicyNfsResponse + """ + Creates one or more NFS policies or copies an existing policy. To copy a policy, + the `source_names` or `source_ids` parameter is required, but they cannot be set + together. To create a policy, policy body is required. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names keyword arguments. + sources (list[FixedReference], optional): + A list of sources to query for. Overrides source_ids and source_names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + source_ids (list[str], optional): + Performs the operation on the source ID specified. Enter multiple source IDs in + comma-separated format. + source_names (list[str], optional): + Performs the operation on the source name specified. Enter multiple source names + in comma-separated format. For example, `name01,name02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + names=names, + source_ids=source_ids, + source_names=source_names, + policy=policy, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._policies_api.api226_policies_nfs_post_with_http_info + _process_references(references, ['names'], kwargs) + _process_references(sources, ['source_ids', 'source_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def delete_policies_quota( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + ids=None, # type: List[str] + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """ + Deletes one or more quota policies. The `ids` or `names` parameter is required, + but they cannot be set together. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides ids and names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + ids (list[str], optional): + Performs the operation on the unique resource IDs specified. Enter multiple + resource IDs in comma-separated format. The `ids` or `names` parameter is + required, but they cannot be set together. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + ids=ids, + names=names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._policies_api.api226_policies_quota_delete_with_http_info + _process_references(references, ['ids', 'names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_policies_quota( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + destroyed=None, # type: bool + filter=None, # type: str + ids=None, # type: List[str] + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PolicyGetResponse + """ + Displays a list of quota policies. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides ids and names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + continuation_token (str, optional): + An opaque token to iterate over a collection of resources. + destroyed (bool, optional): + If set to `true`, lists only destroyed objects that are in the eradication + pending state. If set to `false`, lists only objects that are not destroyed. For + destroyed objects, the time remaining is displayed in milliseconds. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + ids (list[str], optional): + Performs the operation on the unique resource IDs specified. Enter multiple + resource IDs in comma-separated format. The `ids` or `names` parameter is + required, but they cannot be set together. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + continuation_token=continuation_token, + destroyed=destroyed, + filter=filter, + ids=ids, + limit=limit, + names=names, + offset=offset, + sort=sort, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._policies_api.api226_policies_quota_get_with_http_info + _process_references(references, ['ids', 'names'], kwargs) + return self._call_api(endpoint, kwargs) + + def delete_policies_quota_members( + self, + members=None, # type: List[models.ReferenceType] + policies=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + member_ids=None, # type: List[str] + member_names=None, # type: List[str] + member_types=None, # type: List[str] + policy_ids=None, # type: List[str] + policy_names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """ + Deletes a membership between one or more quota policies and managed directories. + The `policy_ids` or `policy_names` parameter is required, but cannot be set + together. The `member_ids` or `member_names` parameter is required, but cannot + be set together. + + Args: + members (list[FixedReference], optional): + A list of members to query for. Overrides member_ids and member_names keyword arguments. + policies (list[FixedReference], optional): + A list of policies to query for. Overrides policy_ids and policy_names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + member_ids (list[str], optional): + Performs the operation on the unique member IDs specified. Enter multiple member + IDs in comma-separated format. The `member_ids` or `member_names` parameter is + required, but they cannot be set together. + member_names (list[str], optional): + Performs the operation on the unique member name specified. Examples of members + include volumes, hosts, host groups, and directories. Enter multiple names in + comma-separated format. For example, `vol01,vol02`. + member_types (list[str], optional): + Performs the operation on the member types specified. The type of member is the + full name of the resource endpoint. Valid values include `directories`. Enter + multiple member types in comma-separated format. For example, `type01,type02`. + policy_ids (list[str], optional): + Performs the operation on the unique policy IDs specified. Enter multiple policy + IDs in comma-separated format. The `policy_ids` or `policy_names` parameter is + required, but they cannot be set together. + policy_names (list[str], optional): + Performs the operation on the policy names specified. Enter multiple policy + names in comma-separated format. For example, `name01,name02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + member_ids=member_ids, + member_names=member_names, + member_types=member_types, + policy_ids=policy_ids, + policy_names=policy_names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._policies_api.api226_policies_quota_members_delete_with_http_info + _process_references(members, ['member_ids', 'member_names'], kwargs) + _process_references(policies, ['policy_ids', 'policy_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_policies_quota_members( + self, + members=None, # type: List[models.ReferenceType] + policies=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + destroyed=None, # type: bool + filter=None, # type: str + limit=None, # type: int + member_ids=None, # type: List[str] + member_names=None, # type: List[str] + member_types=None, # type: List[str] + policy_ids=None, # type: List[str] + policy_names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PolicyMemberGetResponse + """ + Displays a list of quota policy members. + + Args: + members (list[FixedReference], optional): + A list of members to query for. Overrides member_ids and member_names keyword arguments. + policies (list[FixedReference], optional): + A list of policies to query for. Overrides policy_ids and policy_names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + continuation_token (str, optional): + An opaque token to iterate over a collection of resources. + destroyed (bool, optional): + If set to `true`, lists only destroyed objects that are in the eradication + pending state. If set to `false`, lists only objects that are not destroyed. For + destroyed objects, the time remaining is displayed in milliseconds. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + member_ids (list[str], optional): + Performs the operation on the unique member IDs specified. Enter multiple member + IDs in comma-separated format. The `member_ids` or `member_names` parameter is + required, but they cannot be set together. + member_names (list[str], optional): + Performs the operation on the unique member name specified. Examples of members + include volumes, hosts, host groups, and directories. Enter multiple names in + comma-separated format. For example, `vol01,vol02`. + member_types (list[str], optional): + Performs the operation on the member types specified. The type of member is the + full name of the resource endpoint. Valid values include `directories`. Enter + multiple member types in comma-separated format. For example, `type01,type02`. + policy_ids (list[str], optional): + Performs the operation on the unique policy IDs specified. Enter multiple policy + IDs in comma-separated format. The `policy_ids` or `policy_names` parameter is + required, but they cannot be set together. + policy_names (list[str], optional): + Performs the operation on the policy names specified. Enter multiple policy + names in comma-separated format. For example, `name01,name02`. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + continuation_token=continuation_token, + destroyed=destroyed, + filter=filter, + limit=limit, + member_ids=member_ids, + member_names=member_names, + member_types=member_types, + policy_ids=policy_ids, + policy_names=policy_names, + offset=offset, + sort=sort, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._policies_api.api226_policies_quota_members_get_with_http_info + _process_references(members, ['member_ids', 'member_names'], kwargs) + _process_references(policies, ['policy_ids', 'policy_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def post_policies_quota_members( + self, + policies=None, # type: List[models.ReferenceType] + members=None, # type: models.PolicyMemberPost + authorization=None, # type: str + x_request_id=None, # type: str + policy_ids=None, # type: List[str] + policy_names=None, # type: List[str] + ignore_usage=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PolicyMemberResponse + """ + Creates a membership between one or more managed directories and a quota policy. + The `policy_ids` or `policy_names` parameter is required, but cannot be set + together. + + Args: + policies (list[FixedReference], optional): + A list of policies to query for. Overrides policy_ids and policy_names keyword arguments. + + members (PolicyMemberPost, required): + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + policy_ids (list[str], optional): + Performs the operation on the unique policy IDs specified. Enter multiple policy + IDs in comma-separated format. The `policy_ids` or `policy_names` parameter is + required, but they cannot be set together. + policy_names (list[str], optional): + Performs the operation on the policy names specified. Enter multiple policy + names in comma-separated format. For example, `name01,name02`. + ignore_usage (bool, optional): + Flag used to override checks for quota management operations. If set to `true`, + directory usage is not checked against the `quota_limits` that are set. If set + to `false`, the actual logical bytes in use are prevented from exceeding the + limits set on the directory. Client operations might be impacted. If the limit + exceeds the quota, the client operation is not allowed. If not specified, + defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + members=members, + authorization=authorization, + x_request_id=x_request_id, + policy_ids=policy_ids, + policy_names=policy_names, + ignore_usage=ignore_usage, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._policies_api.api226_policies_quota_members_post_with_http_info + _process_references(policies, ['policy_ids', 'policy_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def patch_policies_quota( + self, + references=None, # type: List[models.ReferenceType] + policy=None, # type: models.PolicyPatch + authorization=None, # type: str + x_request_id=None, # type: str + ids=None, # type: List[str] + names=None, # type: List[str] + ignore_usage=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PolicyResponse + """ + Modifies one or more quota policies. To enable a policy, set `enabled=true`. To + disable a policy, set `enabled=false`. To rename a policy, set `name` to the new + name. The `ids` or `names` parameter is required, but they cannot be set + together. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides ids and names keyword arguments. + + policy (PolicyPatch, required): + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + ids (list[str], optional): + Performs the operation on the unique resource IDs specified. Enter multiple + resource IDs in comma-separated format. The `ids` or `names` parameter is + required, but they cannot be set together. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + ignore_usage (bool, optional): + Flag used to override checks for quota management operations. If set to `true`, + directory usage is not checked against the `quota_limits` that are set. If set + to `false`, the actual logical bytes in use are prevented from exceeding the + limits set on the directory. Client operations might be impacted. If the limit + exceeds the quota, the client operation is not allowed. If not specified, + defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + policy=policy, + authorization=authorization, + x_request_id=x_request_id, + ids=ids, + names=names, + ignore_usage=ignore_usage, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._policies_api.api226_policies_quota_patch_with_http_info + _process_references(references, ['ids', 'names'], kwargs) + return self._call_api(endpoint, kwargs) + + def post_policies_quota( + self, + references=None, # type: List[models.ReferenceType] + sources=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + source_ids=None, # type: List[str] + source_names=None, # type: List[str] + policy=None, # type: models.PolicyPost + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PolicyResponse + """ + Creates one or more quota policies. To copy a policy, the `source_names` or + `source_ids` parameter is required, but they cannot be set together. To create a + policy from scratch, policy body is required. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names keyword arguments. + sources (list[FixedReference], optional): + A list of sources to query for. Overrides source_ids and source_names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + source_ids (list[str], optional): + Performs the operation on the source ID specified. Enter multiple source IDs in + comma-separated format. + source_names (list[str], optional): + Performs the operation on the source name specified. Enter multiple source names + in comma-separated format. For example, `name01,name02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + names=names, + source_ids=source_ids, + source_names=source_names, + policy=policy, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._policies_api.api226_policies_quota_post_with_http_info + _process_references(references, ['names'], kwargs) + _process_references(sources, ['source_ids', 'source_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def delete_policies_quota_rules( + self, + references=None, # type: List[models.ReferenceType] + policies=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + policy_ids=None, # type: List[str] + policy_names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """ + Deletes one or more quota policy rules. The `policy_ids` or `policy_names` + parameter is required, but they cannot be set together. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names keyword arguments. + policies (list[FixedReference], optional): + A list of policies to query for. Overrides policy_ids and policy_names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + policy_ids (list[str], optional): + Performs the operation on the unique policy IDs specified. Enter multiple policy + IDs in comma-separated format. The `policy_ids` or `policy_names` parameter is + required, but they cannot be set together. + policy_names (list[str], optional): + Performs the operation on the policy names specified. Enter multiple policy + names in comma-separated format. For example, `name01,name02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + names=names, + policy_ids=policy_ids, + policy_names=policy_names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._policies_api.api226_policies_quota_rules_delete_with_http_info + _process_references(references, ['names'], kwargs) + _process_references(policies, ['policy_ids', 'policy_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_policies_quota_rules( + self, + references=None, # type: List[models.ReferenceType] + policies=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + destroyed=None, # type: bool + filter=None, # type: str + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + policy_ids=None, # type: List[str] + policy_names=None, # type: List[str] + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PolicyRuleQuotaGetResponse + """ + Displays a list of quota policy rules. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names keyword arguments. + policies (list[FixedReference], optional): + A list of policies to query for. Overrides policy_ids and policy_names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + continuation_token (str, optional): + An opaque token to iterate over a collection of resources. + destroyed (bool, optional): + If set to `true`, lists only destroyed objects that are in the eradication + pending state. If set to `false`, lists only objects that are not destroyed. For + destroyed objects, the time remaining is displayed in milliseconds. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + policy_ids (list[str], optional): + Performs the operation on the unique policy IDs specified. Enter multiple policy + IDs in comma-separated format. The `policy_ids` or `policy_names` parameter is + required, but they cannot be set together. + policy_names (list[str], optional): + Performs the operation on the policy names specified. Enter multiple policy + names in comma-separated format. For example, `name01,name02`. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + continuation_token=continuation_token, + destroyed=destroyed, + filter=filter, + limit=limit, + names=names, + offset=offset, + policy_ids=policy_ids, + policy_names=policy_names, + sort=sort, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._policies_api.api226_policies_quota_rules_get_with_http_info + _process_references(references, ['names'], kwargs) + _process_references(policies, ['policy_ids', 'policy_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def patch_policies_quota_rules( + self, + references=None, # type: List[models.ReferenceType] + policies=None, # type: List[models.ReferenceType] + rules=None, # type: models.PolicyRuleQuotaPatch + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + policy_ids=None, # type: List[str] + policy_names=None, # type: List[str] + ignore_usage=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PolicyRuleQuotaResponse + """ + Modifies quota policy rules. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names keyword arguments. + policies (list[FixedReference], optional): + A list of policies to query for. Overrides policy_ids and policy_names keyword arguments. + + rules (PolicyRuleQuotaPatch, required): + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + policy_ids (list[str], optional): + Performs the operation on the unique policy IDs specified. Enter multiple policy + IDs in comma-separated format. The `policy_ids` or `policy_names` parameter is + required, but they cannot be set together. + policy_names (list[str], optional): + Performs the operation on the policy names specified. Enter multiple policy + names in comma-separated format. For example, `name01,name02`. + ignore_usage (bool, optional): + Flag used to override checks for quota management operations. If set to `true`, + directory usage is not checked against the `quota_limits` that are set. If set + to `false`, the actual logical bytes in use are prevented from exceeding the + limits set on the directory. Client operations might be impacted. If the limit + exceeds the quota, the client operation is not allowed. If not specified, + defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + rules=rules, + authorization=authorization, + x_request_id=x_request_id, + names=names, + policy_ids=policy_ids, + policy_names=policy_names, + ignore_usage=ignore_usage, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._policies_api.api226_policies_quota_rules_patch_with_http_info + _process_references(references, ['names'], kwargs) + _process_references(policies, ['policy_ids', 'policy_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def post_policies_quota_rules( + self, + policies=None, # type: List[models.ReferenceType] + rules=None, # type: models.PolicyRuleQuotaPost + authorization=None, # type: str + x_request_id=None, # type: str + policy_ids=None, # type: List[str] + policy_names=None, # type: List[str] + ignore_usage=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PolicyRuleQuotaResponse + """ + Creates one or more quota policy rules. The `policy_ids` or `policy_names` + parameter is required, but cannot be set together. + + Args: + policies (list[FixedReference], optional): + A list of policies to query for. Overrides policy_ids and policy_names keyword arguments. + + rules (PolicyRuleQuotaPost, required): + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + policy_ids (list[str], optional): + Performs the operation on the unique policy IDs specified. Enter multiple policy + IDs in comma-separated format. The `policy_ids` or `policy_names` parameter is + required, but they cannot be set together. + policy_names (list[str], optional): + Performs the operation on the policy names specified. Enter multiple policy + names in comma-separated format. For example, `name01,name02`. + ignore_usage (bool, optional): + Flag used to override checks for quota management operations. If set to `true`, + directory usage is not checked against the `quota_limits` that are set. If set + to `false`, the actual logical bytes in use are prevented from exceeding the + limits set on the directory. Client operations might be impacted. If the limit + exceeds the quota, the client operation is not allowed. If not specified, + defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + rules=rules, + authorization=authorization, + x_request_id=x_request_id, + policy_ids=policy_ids, + policy_names=policy_names, + ignore_usage=ignore_usage, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._policies_api.api226_policies_quota_rules_post_with_http_info + _process_references(policies, ['policy_ids', 'policy_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def delete_policies_smb_client_rules( + self, + references=None, # type: List[models.ReferenceType] + policies=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + policy_ids=None, # type: List[str] + policy_names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """ + Deletes one or more SMB client policy rules. The `policy_ids` or `policy_names` + parameter is required, but they cannot be set together. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names keyword arguments. + policies (list[FixedReference], optional): + A list of policies to query for. Overrides policy_ids and policy_names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + policy_ids (list[str], optional): + Performs the operation on the unique policy IDs specified. Enter multiple policy + IDs in comma-separated format. The `policy_ids` or `policy_names` parameter is + required, but they cannot be set together. + policy_names (list[str], optional): + Performs the operation on the policy names specified. Enter multiple policy + names in comma-separated format. For example, `name01,name02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + names=names, + policy_ids=policy_ids, + policy_names=policy_names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._policies_api.api226_policies_smb_client_rules_delete_with_http_info + _process_references(references, ['names'], kwargs) + _process_references(policies, ['policy_ids', 'policy_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_policies_smb_client_rules( + self, + references=None, # type: List[models.ReferenceType] + policies=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + destroyed=None, # type: bool + filter=None, # type: str + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + policy_ids=None, # type: List[str] + policy_names=None, # type: List[str] + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PolicyRuleSmbClientGetResponse + """ + Displays a list of SMB client policy rules. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names keyword arguments. + policies (list[FixedReference], optional): + A list of policies to query for. Overrides policy_ids and policy_names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + continuation_token (str, optional): + An opaque token to iterate over a collection of resources. + destroyed (bool, optional): + If set to `true`, lists only destroyed objects that are in the eradication + pending state. If set to `false`, lists only objects that are not destroyed. For + destroyed objects, the time remaining is displayed in milliseconds. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + policy_ids (list[str], optional): + Performs the operation on the unique policy IDs specified. Enter multiple policy + IDs in comma-separated format. The `policy_ids` or `policy_names` parameter is + required, but they cannot be set together. + policy_names (list[str], optional): + Performs the operation on the policy names specified. Enter multiple policy + names in comma-separated format. For example, `name01,name02`. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + continuation_token=continuation_token, + destroyed=destroyed, + filter=filter, + limit=limit, + names=names, + offset=offset, + policy_ids=policy_ids, + policy_names=policy_names, + sort=sort, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._policies_api.api226_policies_smb_client_rules_get_with_http_info + _process_references(references, ['names'], kwargs) + _process_references(policies, ['policy_ids', 'policy_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def post_policies_smb_client_rules( + self, + policies=None, # type: List[models.ReferenceType] + rules=None, # type: models.PolicyRuleSmbClientPost + authorization=None, # type: str + x_request_id=None, # type: str + policy_ids=None, # type: List[str] + policy_names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PolicyRuleSmbClientResponse + """ + Creates one or more SMB client policy rules. The `policy_ids` or `policy_names` + parameter is required, but cannot be set together. + + Args: + policies (list[FixedReference], optional): + A list of policies to query for. Overrides policy_ids and policy_names keyword arguments. + + rules (PolicyRuleSmbClientPost, required): + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + policy_ids (list[str], optional): + Performs the operation on the unique policy IDs specified. Enter multiple policy + IDs in comma-separated format. The `policy_ids` or `policy_names` parameter is + required, but they cannot be set together. + policy_names (list[str], optional): + Performs the operation on the policy names specified. Enter multiple policy + names in comma-separated format. For example, `name01,name02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + rules=rules, + authorization=authorization, + x_request_id=x_request_id, + policy_ids=policy_ids, + policy_names=policy_names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._policies_api.api226_policies_smb_client_rules_post_with_http_info + _process_references(policies, ['policy_ids', 'policy_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def delete_policies_smb( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + ids=None, # type: List[str] + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """ + Deletes one or more SMB policies. The `ids` or `names` parameter is required, + but they cannot be set together. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides ids and names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + ids (list[str], optional): + Performs the operation on the unique resource IDs specified. Enter multiple + resource IDs in comma-separated format. The `ids` or `names` parameter is + required, but they cannot be set together. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + ids=ids, + names=names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._policies_api.api226_policies_smb_delete_with_http_info + _process_references(references, ['ids', 'names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_policies_smb( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + destroyed=None, # type: bool + filter=None, # type: str + ids=None, # type: List[str] + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PolicySmbGetResponse + """ + Displays a list of SMB policies. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides ids and names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + continuation_token (str, optional): + An opaque token to iterate over a collection of resources. + destroyed (bool, optional): + If set to `true`, lists only destroyed objects that are in the eradication + pending state. If set to `false`, lists only objects that are not destroyed. For + destroyed objects, the time remaining is displayed in milliseconds. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + ids (list[str], optional): + Performs the operation on the unique resource IDs specified. Enter multiple + resource IDs in comma-separated format. The `ids` or `names` parameter is + required, but they cannot be set together. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + continuation_token=continuation_token, + destroyed=destroyed, + filter=filter, + ids=ids, + limit=limit, + names=names, + offset=offset, + sort=sort, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._policies_api.api226_policies_smb_get_with_http_info + _process_references(references, ['ids', 'names'], kwargs) + return self._call_api(endpoint, kwargs) + + def delete_policies_smb_members( + self, + members=None, # type: List[models.ReferenceType] + policies=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + member_ids=None, # type: List[str] + member_names=None, # type: List[str] + member_types=None, # type: List[str] + policy_ids=None, # type: List[str] + policy_names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """ + Deletes one or more SMB policies from resources. The `policy_ids` or + `policy_names` parameter is required, but cannot be set together. The + `member_ids` or `member_names` parameter is required, but cannot be set + together. + + Args: + members (list[FixedReference], optional): + A list of members to query for. Overrides member_ids and member_names keyword arguments. + policies (list[FixedReference], optional): + A list of policies to query for. Overrides policy_ids and policy_names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + member_ids (list[str], optional): + Performs the operation on the unique member IDs specified. Enter multiple member + IDs in comma-separated format. The `member_ids` or `member_names` parameter is + required, but they cannot be set together. + member_names (list[str], optional): + Performs the operation on the unique member name specified. Examples of members + include volumes, hosts, host groups, and directories. Enter multiple names in + comma-separated format. For example, `vol01,vol02`. + member_types (list[str], optional): + Performs the operation on the member types specified. The type of member is the + full name of the resource endpoint. Valid values include `directories`. Enter + multiple member types in comma-separated format. For example, `type01,type02`. + policy_ids (list[str], optional): + Performs the operation on the unique policy IDs specified. Enter multiple policy + IDs in comma-separated format. The `policy_ids` or `policy_names` parameter is + required, but they cannot be set together. + policy_names (list[str], optional): + Performs the operation on the policy names specified. Enter multiple policy + names in comma-separated format. For example, `name01,name02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + member_ids=member_ids, + member_names=member_names, + member_types=member_types, + policy_ids=policy_ids, + policy_names=policy_names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._policies_api.api226_policies_smb_members_delete_with_http_info + _process_references(members, ['member_ids', 'member_names'], kwargs) + _process_references(policies, ['policy_ids', 'policy_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_policies_smb_members( + self, + members=None, # type: List[models.ReferenceType] + policies=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + destroyed=None, # type: bool + filter=None, # type: str + limit=None, # type: int + member_ids=None, # type: List[str] + member_names=None, # type: List[str] + member_types=None, # type: List[str] + policy_ids=None, # type: List[str] + policy_names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PolicyMemberExportGetResponse + """ + Displays a list of SMB policy members. + + Args: + members (list[FixedReference], optional): + A list of members to query for. Overrides member_ids and member_names keyword arguments. + policies (list[FixedReference], optional): + A list of policies to query for. Overrides policy_ids and policy_names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + continuation_token (str, optional): + An opaque token to iterate over a collection of resources. + destroyed (bool, optional): + If set to `true`, lists only destroyed objects that are in the eradication + pending state. If set to `false`, lists only objects that are not destroyed. For + destroyed objects, the time remaining is displayed in milliseconds. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + member_ids (list[str], optional): + Performs the operation on the unique member IDs specified. Enter multiple member + IDs in comma-separated format. The `member_ids` or `member_names` parameter is + required, but they cannot be set together. + member_names (list[str], optional): + Performs the operation on the unique member name specified. Examples of members + include volumes, hosts, host groups, and directories. Enter multiple names in + comma-separated format. For example, `vol01,vol02`. + member_types (list[str], optional): + Performs the operation on the member types specified. The type of member is the + full name of the resource endpoint. Valid values include `directories`. Enter + multiple member types in comma-separated format. For example, `type01,type02`. + policy_ids (list[str], optional): + Performs the operation on the unique policy IDs specified. Enter multiple policy + IDs in comma-separated format. The `policy_ids` or `policy_names` parameter is + required, but they cannot be set together. + policy_names (list[str], optional): + Performs the operation on the policy names specified. Enter multiple policy + names in comma-separated format. For example, `name01,name02`. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + continuation_token=continuation_token, + destroyed=destroyed, + filter=filter, + limit=limit, + member_ids=member_ids, + member_names=member_names, + member_types=member_types, + policy_ids=policy_ids, + policy_names=policy_names, + offset=offset, + sort=sort, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._policies_api.api226_policies_smb_members_get_with_http_info + _process_references(members, ['member_ids', 'member_names'], kwargs) + _process_references(policies, ['policy_ids', 'policy_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def post_policies_smb_members( + self, + policies=None, # type: List[models.ReferenceType] + members=None, # type: models.PolicyMemberExportPost + authorization=None, # type: str + x_request_id=None, # type: str + policy_ids=None, # type: List[str] + policy_names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PolicyMemberExportResponse + """ + Creates a membership between one or more resources and an SMB policy. Applicable + resources are directories. The `policy_ids` or `policy_names` parameter is + required, but cannot be set together. + + Args: + policies (list[FixedReference], optional): + A list of policies to query for. Overrides policy_ids and policy_names keyword arguments. + + members (PolicyMemberExportPost, required): + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + policy_ids (list[str], optional): + Performs the operation on the unique policy IDs specified. Enter multiple policy + IDs in comma-separated format. The `policy_ids` or `policy_names` parameter is + required, but they cannot be set together. + policy_names (list[str], optional): + Performs the operation on the policy names specified. Enter multiple policy + names in comma-separated format. For example, `name01,name02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + members=members, + authorization=authorization, + x_request_id=x_request_id, + policy_ids=policy_ids, + policy_names=policy_names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._policies_api.api226_policies_smb_members_post_with_http_info + _process_references(policies, ['policy_ids', 'policy_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def patch_policies_smb( + self, + references=None, # type: List[models.ReferenceType] + policy=None, # type: models.PolicySmbPatch + authorization=None, # type: str + x_request_id=None, # type: str + ids=None, # type: List[str] + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PolicySmbResponse + """ + Modifies one or more SMB policies. To enable a policy, set `enabled=true`. To + disable a policy, set `enabled=false`. To enable access based enumeration, set + `access_based_enumeration_enabled=true`. To disable access based enumeration, + set `access_based_enumeration_enabled=false`. To rename a policy, set `name` to + the new name. The `ids` or `names` parameter is required, but they cannot be set + together. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides ids and names keyword arguments. + + policy (PolicySmbPatch, required): + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + ids (list[str], optional): + Performs the operation on the unique resource IDs specified. Enter multiple + resource IDs in comma-separated format. The `ids` or `names` parameter is + required, but they cannot be set together. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + policy=policy, + authorization=authorization, + x_request_id=x_request_id, + ids=ids, + names=names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._policies_api.api226_policies_smb_patch_with_http_info + _process_references(references, ['ids', 'names'], kwargs) + return self._call_api(endpoint, kwargs) + + def post_policies_smb( + self, + references=None, # type: List[models.ReferenceType] + sources=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + source_ids=None, # type: List[str] + source_names=None, # type: List[str] + policy=None, # type: models.PolicySmbPost + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PolicySmbResponse + """ + Creates one or more SMB policies. To copy a policy, set one of either + `source_names` or `source_ids`. Each policy can only have one entry. To create a + policy from scratch, policy body is required. To create an SMB policy with + access based enumeration enabled, set `access_based_enumeration_enabled=true`. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names keyword arguments. + sources (list[FixedReference], optional): + A list of sources to query for. Overrides source_ids and source_names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + source_ids (list[str], optional): + Performs the operation on the source ID specified. Enter multiple source IDs in + comma-separated format. + source_names (list[str], optional): + Performs the operation on the source name specified. Enter multiple source names + in comma-separated format. For example, `name01,name02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + names=names, + source_ids=source_ids, + source_names=source_names, + policy=policy, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._policies_api.api226_policies_smb_post_with_http_info + _process_references(references, ['names'], kwargs) + _process_references(sources, ['source_ids', 'source_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def delete_policies_snapshot( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + ids=None, # type: List[str] + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """ + Deletes one or more snapshot policies. The `ids` or `names` parameter is + required, but they cannot be set together. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides ids and names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + ids (list[str], optional): + Performs the operation on the unique resource IDs specified. Enter multiple + resource IDs in comma-separated format. The `ids` or `names` parameter is + required, but they cannot be set together. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + ids=ids, + names=names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._policies_api.api226_policies_snapshot_delete_with_http_info + _process_references(references, ['ids', 'names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_policies_snapshot( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + destroyed=None, # type: bool + filter=None, # type: str + ids=None, # type: List[str] + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PolicyGetResponse + """ + Displays a list of snapshot policies. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides ids and names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + continuation_token (str, optional): + An opaque token to iterate over a collection of resources. + destroyed (bool, optional): + If set to `true`, lists only destroyed objects that are in the eradication + pending state. If set to `false`, lists only objects that are not destroyed. For + destroyed objects, the time remaining is displayed in milliseconds. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + ids (list[str], optional): + Performs the operation on the unique resource IDs specified. Enter multiple + resource IDs in comma-separated format. The `ids` or `names` parameter is + required, but they cannot be set together. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + continuation_token=continuation_token, + destroyed=destroyed, + filter=filter, + ids=ids, + limit=limit, + names=names, + offset=offset, + sort=sort, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._policies_api.api226_policies_snapshot_get_with_http_info + _process_references(references, ['ids', 'names'], kwargs) + return self._call_api(endpoint, kwargs) + + def delete_policies_snapshot_members( + self, + members=None, # type: List[models.ReferenceType] + policies=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + member_ids=None, # type: List[str] + member_names=None, # type: List[str] + member_types=None, # type: List[str] + policy_ids=None, # type: List[str] + policy_names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """ + Deletes one or more snapshot policies from resources. The `policy_ids` or + `policy_names` parameter is required, but cannot be set together. The + `member_ids` or `member_names` parameter is required, but cannot be set + together. + + Args: + members (list[FixedReference], optional): + A list of members to query for. Overrides member_ids and member_names keyword arguments. + policies (list[FixedReference], optional): + A list of policies to query for. Overrides policy_ids and policy_names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + member_ids (list[str], optional): + Performs the operation on the unique member IDs specified. Enter multiple member + IDs in comma-separated format. The `member_ids` or `member_names` parameter is + required, but they cannot be set together. + member_names (list[str], optional): + Performs the operation on the unique member name specified. Examples of members + include volumes, hosts, host groups, and directories. Enter multiple names in + comma-separated format. For example, `vol01,vol02`. + member_types (list[str], optional): + Performs the operation on the member types specified. The type of member is the + full name of the resource endpoint. Valid values include `directories`. Enter + multiple member types in comma-separated format. For example, `type01,type02`. + policy_ids (list[str], optional): + Performs the operation on the unique policy IDs specified. Enter multiple policy + IDs in comma-separated format. The `policy_ids` or `policy_names` parameter is + required, but they cannot be set together. + policy_names (list[str], optional): + Performs the operation on the policy names specified. Enter multiple policy + names in comma-separated format. For example, `name01,name02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + member_ids=member_ids, + member_names=member_names, + member_types=member_types, + policy_ids=policy_ids, + policy_names=policy_names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._policies_api.api226_policies_snapshot_members_delete_with_http_info + _process_references(members, ['member_ids', 'member_names'], kwargs) + _process_references(policies, ['policy_ids', 'policy_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_policies_snapshot_members( + self, + members=None, # type: List[models.ReferenceType] + policies=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + destroyed=None, # type: bool + filter=None, # type: str + limit=None, # type: int + member_ids=None, # type: List[str] + member_names=None, # type: List[str] + member_types=None, # type: List[str] + policy_ids=None, # type: List[str] + policy_names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PolicyMemberGetResponse + """ + Displays a list of snapshot policy members. + + Args: + members (list[FixedReference], optional): + A list of members to query for. Overrides member_ids and member_names keyword arguments. + policies (list[FixedReference], optional): + A list of policies to query for. Overrides policy_ids and policy_names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + continuation_token (str, optional): + An opaque token to iterate over a collection of resources. + destroyed (bool, optional): + If set to `true`, lists only destroyed objects that are in the eradication + pending state. If set to `false`, lists only objects that are not destroyed. For + destroyed objects, the time remaining is displayed in milliseconds. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + member_ids (list[str], optional): + Performs the operation on the unique member IDs specified. Enter multiple member + IDs in comma-separated format. The `member_ids` or `member_names` parameter is + required, but they cannot be set together. + member_names (list[str], optional): + Performs the operation on the unique member name specified. Examples of members + include volumes, hosts, host groups, and directories. Enter multiple names in + comma-separated format. For example, `vol01,vol02`. + member_types (list[str], optional): + Performs the operation on the member types specified. The type of member is the + full name of the resource endpoint. Valid values include `directories`. Enter + multiple member types in comma-separated format. For example, `type01,type02`. + policy_ids (list[str], optional): + Performs the operation on the unique policy IDs specified. Enter multiple policy + IDs in comma-separated format. The `policy_ids` or `policy_names` parameter is + required, but they cannot be set together. + policy_names (list[str], optional): + Performs the operation on the policy names specified. Enter multiple policy + names in comma-separated format. For example, `name01,name02`. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + continuation_token=continuation_token, + destroyed=destroyed, + filter=filter, + limit=limit, + member_ids=member_ids, + member_names=member_names, + member_types=member_types, + policy_ids=policy_ids, + policy_names=policy_names, + offset=offset, + sort=sort, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._policies_api.api226_policies_snapshot_members_get_with_http_info + _process_references(members, ['member_ids', 'member_names'], kwargs) + _process_references(policies, ['policy_ids', 'policy_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def post_policies_snapshot_members( + self, + policies=None, # type: List[models.ReferenceType] + members=None, # type: models.PolicyMemberPost + authorization=None, # type: str + x_request_id=None, # type: str + policy_ids=None, # type: List[str] + policy_names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PolicyMemberResponse + """ + Creates a membership between one or more resources and a snapshot policy. + Applicable resources are directories. The `policy_ids` or `policy_names` + parameter is required, but cannot be set together. + + Args: + policies (list[FixedReference], optional): + A list of policies to query for. Overrides policy_ids and policy_names keyword arguments. + + members (PolicyMemberPost, required): + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + policy_ids (list[str], optional): + Performs the operation on the unique policy IDs specified. Enter multiple policy + IDs in comma-separated format. The `policy_ids` or `policy_names` parameter is + required, but they cannot be set together. + policy_names (list[str], optional): + Performs the operation on the policy names specified. Enter multiple policy + names in comma-separated format. For example, `name01,name02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + members=members, + authorization=authorization, + x_request_id=x_request_id, + policy_ids=policy_ids, + policy_names=policy_names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._policies_api.api226_policies_snapshot_members_post_with_http_info + _process_references(policies, ['policy_ids', 'policy_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def patch_policies_snapshot( + self, + references=None, # type: List[models.ReferenceType] + policy=None, # type: models.PolicyPatch + authorization=None, # type: str + x_request_id=None, # type: str + ids=None, # type: List[str] + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PolicyResponse + """ + Modifies one or more snapshot policies. To enable a policy, set `enabled=true`. + To disable a policy, set `enabled=true`. To rename a policy, set `name` to the + new name. The `ids` or `names` parameter is required, but they cannot be set + together. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides ids and names keyword arguments. + + policy (PolicyPatch, required): + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + ids (list[str], optional): + Performs the operation on the unique resource IDs specified. Enter multiple + resource IDs in comma-separated format. The `ids` or `names` parameter is + required, but they cannot be set together. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + policy=policy, + authorization=authorization, + x_request_id=x_request_id, + ids=ids, + names=names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._policies_api.api226_policies_snapshot_patch_with_http_info + _process_references(references, ['ids', 'names'], kwargs) + return self._call_api(endpoint, kwargs) + + def post_policies_snapshot( + self, + references=None, # type: List[models.ReferenceType] + sources=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + source_ids=None, # type: List[str] + source_names=None, # type: List[str] + policy=None, # type: models.PolicyPost + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PolicyResponse + """ + Creates one or more snapshot policies. To copy a policy, set one of either + `source_names` or `source_ids`. Each policy can only have one entry. To create a + policy from scratch, policy body is required. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names keyword arguments. + sources (list[FixedReference], optional): + A list of sources to query for. Overrides source_ids and source_names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + source_ids (list[str], optional): + Performs the operation on the source ID specified. Enter multiple source IDs in + comma-separated format. + source_names (list[str], optional): + Performs the operation on the source name specified. Enter multiple source names + in comma-separated format. For example, `name01,name02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + names=names, + source_ids=source_ids, + source_names=source_names, + policy=policy, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._policies_api.api226_policies_snapshot_post_with_http_info + _process_references(references, ['names'], kwargs) + _process_references(sources, ['source_ids', 'source_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def delete_policies_snapshot_rules( + self, + references=None, # type: List[models.ReferenceType] + policies=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + policy_ids=None, # type: List[str] + policy_names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """ + Deletes one or more snapshot policy rules. The `policy_ids` or `policy_names` + parameter is required, but cannot be set together. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names keyword arguments. + policies (list[FixedReference], optional): + A list of policies to query for. Overrides policy_ids and policy_names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + policy_ids (list[str], optional): + Performs the operation on the unique policy IDs specified. Enter multiple policy + IDs in comma-separated format. The `policy_ids` or `policy_names` parameter is + required, but they cannot be set together. + policy_names (list[str], optional): + Performs the operation on the policy names specified. Enter multiple policy + names in comma-separated format. For example, `name01,name02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + names=names, + policy_ids=policy_ids, + policy_names=policy_names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._policies_api.api226_policies_snapshot_rules_delete_with_http_info + _process_references(references, ['names'], kwargs) + _process_references(policies, ['policy_ids', 'policy_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_policies_snapshot_rules( + self, + references=None, # type: List[models.ReferenceType] + policies=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + destroyed=None, # type: bool + filter=None, # type: str + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + policy_ids=None, # type: List[str] + policy_names=None, # type: List[str] + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PolicyRuleSnapshotGetResponse + """ + Displays a list of snapshot policy rules. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names keyword arguments. + policies (list[FixedReference], optional): + A list of policies to query for. Overrides policy_ids and policy_names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + continuation_token (str, optional): + An opaque token to iterate over a collection of resources. + destroyed (bool, optional): + If set to `true`, lists only destroyed objects that are in the eradication + pending state. If set to `false`, lists only objects that are not destroyed. For + destroyed objects, the time remaining is displayed in milliseconds. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + policy_ids (list[str], optional): + Performs the operation on the unique policy IDs specified. Enter multiple policy + IDs in comma-separated format. The `policy_ids` or `policy_names` parameter is + required, but they cannot be set together. + policy_names (list[str], optional): + Performs the operation on the policy names specified. Enter multiple policy + names in comma-separated format. For example, `name01,name02`. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + continuation_token=continuation_token, + destroyed=destroyed, + filter=filter, + limit=limit, + names=names, + offset=offset, + policy_ids=policy_ids, + policy_names=policy_names, + sort=sort, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._policies_api.api226_policies_snapshot_rules_get_with_http_info + _process_references(references, ['names'], kwargs) + _process_references(policies, ['policy_ids', 'policy_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def post_policies_snapshot_rules( + self, + policies=None, # type: List[models.ReferenceType] + rules=None, # type: models.PolicyRuleSnapshotPost + authorization=None, # type: str + x_request_id=None, # type: str + policy_ids=None, # type: List[str] + policy_names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PolicyRuleSnapshotResponse + """ + Creates one or more snapshot policy rules. The `policy_ids` or `policy_names` + parameter is required, but cannot be set together. + + Args: + policies (list[FixedReference], optional): + A list of policies to query for. Overrides policy_ids and policy_names keyword arguments. + + rules (PolicyRuleSnapshotPost, required): + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + policy_ids (list[str], optional): + Performs the operation on the unique policy IDs specified. Enter multiple policy + IDs in comma-separated format. The `policy_ids` or `policy_names` parameter is + required, but they cannot be set together. + policy_names (list[str], optional): + Performs the operation on the policy names specified. Enter multiple policy + names in comma-separated format. For example, `name01,name02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + rules=rules, + authorization=authorization, + x_request_id=x_request_id, + policy_ids=policy_ids, + policy_names=policy_names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._policies_api.api226_policies_snapshot_rules_post_with_http_info + _process_references(policies, ['policy_ids', 'policy_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_ports( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + filter=None, # type: str + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PortGetResponse + """ + Displays host name, iSCSI Qualified Names (IQNs), NVMe Qualified Names (NQNs), + IPv4 address of the portal, Fibre Channel World Wide Names (WWNs), and failover + ports, including those that were discovered by Purity//FA and those that have + been manually assigned by system administrators. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + filter=filter, + limit=limit, + names=names, + offset=offset, + sort=sort, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._ports_api.api226_ports_get_with_http_info + _process_references(references, ['names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_ports_initiators( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + filter=None, # type: str + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.PortInitiatorsGetResponse + """ + Displays host iSCSI Qualified Names (IQNs), NVMe Qualified Names (NQNs), and + Fibre Channel World Wide Names (WWNs), including those that were discovered by + Purity//FA and those that have been manually assigned by system administrators, + along with the array ports (targets) on which they are eligible to communicate. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + filter=filter, + limit=limit, + names=names, + offset=offset, + sort=sort, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._ports_api.api226_ports_initiators_get_with_http_info + _process_references(references, ['names'], kwargs) + return self._call_api(endpoint, kwargs) + + def delete_protection_group_snapshots( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + ids=None, # type: List[str] + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """ + Deletes a protection group snapshot that has been destroyed and is pending + eradication. Eradicating a protection group snapshot eradicates all of its + protection group snapshots and cannot be recovered. Protection group snapshots + are destroyed through the `PATCH` method. The `names` or `ids` parameter is + required, but they cannot be set together. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides ids and names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + ids (list[str], optional): + Performs the operation on the unique resource IDs specified. Enter multiple + resource IDs in comma-separated format. The `ids` or `names` parameter is + required, but they cannot be set together. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + ids=ids, + names=names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._protection_group_snapshots_api.api226_protection_group_snapshots_delete_with_http_info + _process_references(references, ['ids', 'names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_protection_group_snapshots( + self, + references=None, # type: List[models.ReferenceType] + sources=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + destroyed=None, # type: bool + filter=None, # type: str + limit=None, # type: int + ids=None, # type: List[str] + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + source_names=None, # type: List[str] + source_ids=None, # type: List[str] + total_item_count=None, # type: bool + total_only=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.ProtectionGroupSnapshotGetResponse + """ + Displays a list of protection group snapshots, including those pending + eradication. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides ids and names keyword arguments. + sources (list[FixedReference], optional): + A list of sources to query for. Overrides source_names and source_ids keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + continuation_token (str, optional): + An opaque token to iterate over a collection of resources. + destroyed (bool, optional): + If set to `true`, lists only destroyed objects that are in the eradication + pending state. If set to `false`, lists only objects that are not destroyed. For + destroyed objects, the time remaining is displayed in milliseconds. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + ids (list[str], optional): + Performs the operation on the unique resource IDs specified. Enter multiple + resource IDs in comma-separated format. The `ids` or `names` parameter is + required, but they cannot be set together. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + source_names (list[str], optional): + Performs the operation on the source name specified. Enter multiple source names + in comma-separated format. For example, `name01,name02`. + source_ids (list[str], optional): + Performs the operation on the source ID specified. Enter multiple source IDs in + comma-separated format. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + total_only (bool, optional): + If set to `true`, returns the aggregate value of all items after filtering. + Where it makes more sense, the average value is displayed instead. The values + are displayed for each name where meaningful. If `total_only=true`, the `items` + list will be empty. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + continuation_token=continuation_token, + destroyed=destroyed, + filter=filter, + limit=limit, + ids=ids, + names=names, + offset=offset, + sort=sort, + source_names=source_names, + source_ids=source_ids, + total_item_count=total_item_count, + total_only=total_only, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._protection_group_snapshots_api.api226_protection_group_snapshots_get_with_http_info + _process_references(references, ['ids', 'names'], kwargs) + _process_references(sources, ['source_names', 'source_ids'], kwargs) + return self._call_api(endpoint, kwargs) + + def patch_protection_group_snapshots( + self, + references=None, # type: List[models.ReferenceType] + protection_group_snapshot=None, # type: models.ProtectionGroupSnapshotPatch + authorization=None, # type: str + x_request_id=None, # type: str + ids=None, # type: List[str] + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.ProtectionGroupSnapshotResponse + """ + Modifies a protection group snapshot so that it can be destroyed. To destroy a + volume, set `destroyed=true`. To recover a volume that has been destroyed and is + pending eradication, set `destroyed=false`. The `names` or `ids` parameter is + required, but they cannot be set together. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides ids and names keyword arguments. + + protection_group_snapshot (ProtectionGroupSnapshotPatch, required): + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + ids (list[str], optional): + Performs the operation on the unique resource IDs specified. Enter multiple + resource IDs in comma-separated format. The `ids` or `names` parameter is + required, but they cannot be set together. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + protection_group_snapshot=protection_group_snapshot, + authorization=authorization, + x_request_id=x_request_id, + ids=ids, + names=names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._protection_group_snapshots_api.api226_protection_group_snapshots_patch_with_http_info + _process_references(references, ['ids', 'names'], kwargs) + return self._call_api(endpoint, kwargs) + + def post_protection_group_snapshots( + self, + sources=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + apply_retention=None, # type: bool + for_replication=None, # type: bool + replicate=None, # type: bool + replicate_now=None, # type: bool + allow_throttle=None, # type: bool + source_ids=None, # type: List[str] + source_names=None, # type: List[str] + protection_group_snapshot=None, # type: models.ProtectionGroupSnapshotPost + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.ProtectionGroupSnapshotResponse + """ + Creates a point-in-time snapshot of the contents of a protection group. The + `source_ids` or `source_names` parameter is required, but they cannot be set + together. + + Args: + sources (list[FixedReference], optional): + A list of sources to query for. Overrides source_ids and source_names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + apply_retention (bool, optional): + If `true`, applies the local and remote retention policy to the snapshots. + for_replication (bool, optional): + If `true`, destroys and eradicates the snapshot after 1 hour. + replicate (bool, optional): + If set to `true`, queues up and begins replicating to each allowed target after + all earlier replication sessions for the same protection group have been + completed to that target. The `replicate` and `replicate_now` parameters cannot + be used together. + replicate_now (bool, optional): + If set to `true`, replicates the snapshots to each allowed target. The + `replicate` and `replicate_now` parameters cannot be used together. + allow_throttle (bool, optional): + If set to `true`, allows snapshot to fail if array health is not optimal. + source_ids (list[str], optional): + Performs the operation on the source ID specified. Enter multiple source IDs in + comma-separated format. + source_names (list[str], optional): + Performs the operation on the source name specified. Enter multiple source names + in comma-separated format. For example, `name01,name02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + apply_retention=apply_retention, + for_replication=for_replication, + replicate=replicate, + replicate_now=replicate_now, + allow_throttle=allow_throttle, + source_ids=source_ids, + source_names=source_names, + protection_group_snapshot=protection_group_snapshot, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._protection_group_snapshots_api.api226_protection_group_snapshots_post_with_http_info + _process_references(sources, ['source_ids', 'source_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def post_protection_group_snapshots_replica( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + convert_source_to_baseline=None, # type: bool + ids=None, # type: List[str] + names=None, # type: List[str] + on=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.ProtectionGroupSnapshotReplicaResponse + """ + Creates an action to send protection group snapshots to protection pgroup + targets. When the `on` option is used, only specified targets will recieve the + protection group snapshots. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides ids and names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + convert_source_to_baseline (bool, optional): + Set to `true` to have the snapshot be eradicated when it is no longer baseline + on source. + ids (list[str], optional): + Performs the operation on the unique resource IDs specified. Enter multiple + resource IDs in comma-separated format. The `ids` or `names` parameter is + required, but they cannot be set together. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + on (list[str], optional): + Performs the operation locally with the target names specified as the + destinations of the operation. Enter multiple target names in comma-separated + format. For example, `targetName01,targetName02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + convert_source_to_baseline=convert_source_to_baseline, + ids=ids, + names=names, + on=on, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._protection_group_snapshots_api.api226_protection_group_snapshots_replica_post_with_http_info + _process_references(references, ['ids', 'names'], kwargs) + return self._call_api(endpoint, kwargs) + + def post_protection_group_snapshots_test( + self, + sources=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + apply_retention=None, # type: bool + for_replication=None, # type: bool + replicate=None, # type: bool + replicate_now=None, # type: bool + allow_throttle=None, # type: bool + source_ids=None, # type: List[str] + source_names=None, # type: List[str] + protection_group_snapshot=None, # type: models.ProtectionGroupSnapshotPost + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.TestResultWithResourceWithIdPostResponse + """ + Creates an attempt to take the protection group snapshot, without actually + taking it, to test if the snapshot can be successfully taken. + + Args: + sources (list[FixedReference], optional): + A list of sources to query for. Overrides source_ids and source_names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + apply_retention (bool, optional): + If `true`, applies the local and remote retention policy to the snapshots. + for_replication (bool, optional): + If `true`, destroys and eradicates the snapshot after 1 hour. + replicate (bool, optional): + If set to `true`, queues up and begins replicating to each allowed target after + all earlier replication sessions for the same protection group have been + completed to that target. The `replicate` and `replicate_now` parameters cannot + be used together. + replicate_now (bool, optional): + If set to `true`, replicates the snapshots to each allowed target. The + `replicate` and `replicate_now` parameters cannot be used together. + allow_throttle (bool, optional): + If set to `true`, allows snapshot to fail if array health is not optimal. + source_ids (list[str], optional): + Performs the operation on the source ID specified. Enter multiple source IDs in + comma-separated format. + source_names (list[str], optional): + Performs the operation on the source name specified. Enter multiple source names + in comma-separated format. For example, `name01,name02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + apply_retention=apply_retention, + for_replication=for_replication, + replicate=replicate, + replicate_now=replicate_now, + allow_throttle=allow_throttle, + source_ids=source_ids, + source_names=source_names, + protection_group_snapshot=protection_group_snapshot, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._protection_group_snapshots_api.api226_protection_group_snapshots_test_post_with_http_info + _process_references(sources, ['source_ids', 'source_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_protection_group_snapshots_transfer( + self, + references=None, # type: List[models.ReferenceType] + sources=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + destroyed=None, # type: bool + filter=None, # type: str + limit=None, # type: int + ids=None, # type: List[str] + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + source_ids=None, # type: List[str] + source_names=None, # type: List[str] + total_item_count=None, # type: bool + total_only=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.ProtectionGroupSnapshotTransferGetResponse + """ + Displays a list of protection group snapshots and corresponding transfer + statistics. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides ids and names keyword arguments. + sources (list[FixedReference], optional): + A list of sources to query for. Overrides source_ids and source_names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + destroyed (bool, optional): + If set to `true`, lists only destroyed objects that are in the eradication + pending state. If set to `false`, lists only objects that are not destroyed. For + destroyed objects, the time remaining is displayed in milliseconds. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + ids (list[str], optional): + Performs the operation on the unique resource IDs specified. Enter multiple + resource IDs in comma-separated format. The `ids` or `names` parameter is + required, but they cannot be set together. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + source_ids (list[str], optional): + Performs the operation on the source ID specified. Enter multiple source IDs in + comma-separated format. + source_names (list[str], optional): + Performs the operation on the source name specified. Enter multiple source names + in comma-separated format. For example, `name01,name02`. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + total_only (bool, optional): + If set to `true`, returns the aggregate value of all items after filtering. + Where it makes more sense, the average value is displayed instead. The values + are displayed for each name where meaningful. If `total_only=true`, the `items` + list will be empty. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + destroyed=destroyed, + filter=filter, + limit=limit, + ids=ids, + names=names, + offset=offset, + sort=sort, + source_ids=source_ids, + source_names=source_names, + total_item_count=total_item_count, + total_only=total_only, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._protection_group_snapshots_api.api226_protection_group_snapshots_transfer_get_with_http_info + _process_references(references, ['ids', 'names'], kwargs) + _process_references(sources, ['source_ids', 'source_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def delete_protection_groups( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + ids=None, # type: List[str] + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """ + Deletes a protection group that has been destroyed and is pending eradication. + Eradicated protection groups cannot be recovered. Protection groups are + destroyed through the `PATCH` method. The `names` parameter is required. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides ids and names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + ids (list[str], optional): + Performs the operation on the unique resource IDs specified. Enter multiple + resource IDs in comma-separated format. The `ids` or `names` parameter is + required, but they cannot be set together. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + ids=ids, + names=names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._protection_groups_api.api226_protection_groups_delete_with_http_info + _process_references(references, ['ids', 'names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_protection_groups( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + destroyed=None, # type: bool + filter=None, # type: str + ids=None, # type: List[str] + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + total_only=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.ProtectionGroupGetResponse + """ + Displays a list of protection groups, including their associated source arrays, + replication targets, hosts, host groups, and volumes. The list includes + protection groups that were created on the local array to replicate snapshot + data to other arrays or offload targets, created on a remote array and + replicated asynchronously to this array, or created inside a pod on a remote + array and stretched to the local array. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides ids and names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + continuation_token (str, optional): + An opaque token to iterate over a collection of resources. + destroyed (bool, optional): + If set to `true`, lists only destroyed objects that are in the eradication + pending state. If set to `false`, lists only objects that are not destroyed. For + destroyed objects, the time remaining is displayed in milliseconds. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + ids (list[str], optional): + Performs the operation on the unique resource IDs specified. Enter multiple + resource IDs in comma-separated format. The `ids` or `names` parameter is + required, but they cannot be set together. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + total_only (bool, optional): + If set to `true`, returns the aggregate value of all items after filtering. + Where it makes more sense, the average value is displayed instead. The values + are displayed for each name where meaningful. If `total_only=true`, the `items` + list will be empty. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + continuation_token=continuation_token, + destroyed=destroyed, + filter=filter, + ids=ids, + limit=limit, + names=names, + offset=offset, + sort=sort, + total_item_count=total_item_count, + total_only=total_only, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._protection_groups_api.api226_protection_groups_get_with_http_info + _process_references(references, ['ids', 'names'], kwargs) + return self._call_api(endpoint, kwargs) + + def delete_protection_groups_host_groups( + self, + groups=None, # type: List[models.ReferenceType] + members=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + group_ids=None, # type: List[str] + group_names=None, # type: List[str] + member_names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """ + Deletes a host group member from a protection group. After the member has been + removed, it is no longer protected by the group. Protection group snapshots + taken before the member was removed will not be affected. Removing a member from + a protection group does not delete the member from the array, and the member can + be added back to the protection group at any time. The `group_names` parameter + represents the name of the protection group, and the `member_names` parameter + represents the name of the host group. The `group_names` and `member_names` + parameters are required and must be set together. + + Args: + groups (list[FixedReference], optional): + A list of groups to query for. Overrides group_ids and group_names keyword arguments. + members (list[FixedReference], optional): + A list of members to query for. Overrides member_names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + group_ids (list[str], optional): + A list of group IDs. + group_names (list[str], optional): + Performs the operation on the unique group name specified. Examples of groups + include host groups, pods, protection groups, and volume groups. Enter multiple + names in comma-separated format. For example, `hgroup01,hgroup02`. + member_names (list[str], optional): + Performs the operation on the unique member name specified. Examples of members + include volumes, hosts, host groups, and directories. Enter multiple names in + comma-separated format. For example, `vol01,vol02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + group_ids=group_ids, + group_names=group_names, + member_names=member_names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._protection_groups_api.api226_protection_groups_host_groups_delete_with_http_info + _process_references(groups, ['group_ids', 'group_names'], kwargs) + _process_references(members, ['member_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_protection_groups_host_groups( + self, + groups=None, # type: List[models.ReferenceType] + members=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + filter=None, # type: str + group_ids=None, # type: List[str] + group_names=None, # type: List[str] + limit=None, # type: int + member_names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.MemberNoIdMemberGetResponse + """ + Displays a list of protection groups that have host group members. + + Args: + groups (list[FixedReference], optional): + A list of groups to query for. Overrides group_ids and group_names keyword arguments. + members (list[FixedReference], optional): + A list of members to query for. Overrides member_names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + continuation_token (str, optional): + An opaque token to iterate over a collection of resources. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + group_ids (list[str], optional): + A list of group IDs. + group_names (list[str], optional): + Performs the operation on the unique group name specified. Examples of groups + include host groups, pods, protection groups, and volume groups. Enter multiple + names in comma-separated format. For example, `hgroup01,hgroup02`. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + member_names (list[str], optional): + Performs the operation on the unique member name specified. Examples of members + include volumes, hosts, host groups, and directories. Enter multiple names in + comma-separated format. For example, `vol01,vol02`. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + continuation_token=continuation_token, + filter=filter, + group_ids=group_ids, + group_names=group_names, + limit=limit, + member_names=member_names, + offset=offset, + sort=sort, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._protection_groups_api.api226_protection_groups_host_groups_get_with_http_info + _process_references(groups, ['group_ids', 'group_names'], kwargs) + _process_references(members, ['member_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def post_protection_groups_host_groups( + self, + groups=None, # type: List[models.ReferenceType] + members=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + group_ids=None, # type: List[str] + group_names=None, # type: List[str] + member_names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.MemberNoIdMemberResponse + """ + Creates an action to add a host group member to a protection group. Members that + are already in the protection group are not affected. For asynchronous + replication, only members of the same type can belong to a protection group. The + `group_names` parameter represents the name of the protection group, and the + `member_names` parameter represents the name of the host group. The + `group_names` and `member_names` parameters are required and must be set + together. + + Args: + groups (list[FixedReference], optional): + A list of groups to query for. Overrides group_ids and group_names keyword arguments. + members (list[FixedReference], optional): + A list of members to query for. Overrides member_names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + group_ids (list[str], optional): + A list of group IDs. + group_names (list[str], optional): + Performs the operation on the unique group name specified. Examples of groups + include host groups, pods, protection groups, and volume groups. Enter multiple + names in comma-separated format. For example, `hgroup01,hgroup02`. + member_names (list[str], optional): + Performs the operation on the unique member name specified. Examples of members + include volumes, hosts, host groups, and directories. Enter multiple names in + comma-separated format. For example, `vol01,vol02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + group_ids=group_ids, + group_names=group_names, + member_names=member_names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._protection_groups_api.api226_protection_groups_host_groups_post_with_http_info + _process_references(groups, ['group_ids', 'group_names'], kwargs) + _process_references(members, ['member_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def delete_protection_groups_hosts( + self, + groups=None, # type: List[models.ReferenceType] + members=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + group_ids=None, # type: List[str] + group_names=None, # type: List[str] + member_names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """ + Deletes a host member from a protection group. After the member has been + removed, it is no longer protected by the group. Any protection group snapshots + that were taken before the member was removed will not be affected. Removing a + member from a protection group does not delete the member from the array, and + the member can be added back to the protection group at any time. The + `group_names` parameter represents the name of the protection group, and the + `member_names` parameter represents the name of the host. The `group_names` and + `member_names` parameters are required and must be set together. + + Args: + groups (list[FixedReference], optional): + A list of groups to query for. Overrides group_ids and group_names keyword arguments. + members (list[FixedReference], optional): + A list of members to query for. Overrides member_names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + group_ids (list[str], optional): + A list of group IDs. + group_names (list[str], optional): + Performs the operation on the unique group name specified. Examples of groups + include host groups, pods, protection groups, and volume groups. Enter multiple + names in comma-separated format. For example, `hgroup01,hgroup02`. + member_names (list[str], optional): + Performs the operation on the unique member name specified. Examples of members + include volumes, hosts, host groups, and directories. Enter multiple names in + comma-separated format. For example, `vol01,vol02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + group_ids=group_ids, + group_names=group_names, + member_names=member_names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._protection_groups_api.api226_protection_groups_hosts_delete_with_http_info + _process_references(groups, ['group_ids', 'group_names'], kwargs) + _process_references(members, ['member_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_protection_groups_hosts( + self, + groups=None, # type: List[models.ReferenceType] + members=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + filter=None, # type: str + group_ids=None, # type: List[str] + group_names=None, # type: List[str] + limit=None, # type: int + member_names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.MemberNoIdMemberGetResponse + """ + Displays a list of protection groups that have host members. + + Args: + groups (list[FixedReference], optional): + A list of groups to query for. Overrides group_ids and group_names keyword arguments. + members (list[FixedReference], optional): + A list of members to query for. Overrides member_names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + continuation_token (str, optional): + An opaque token to iterate over a collection of resources. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + group_ids (list[str], optional): + A list of group IDs. + group_names (list[str], optional): + Performs the operation on the unique group name specified. Examples of groups + include host groups, pods, protection groups, and volume groups. Enter multiple + names in comma-separated format. For example, `hgroup01,hgroup02`. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + member_names (list[str], optional): + Performs the operation on the unique member name specified. Examples of members + include volumes, hosts, host groups, and directories. Enter multiple names in + comma-separated format. For example, `vol01,vol02`. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + continuation_token=continuation_token, + filter=filter, + group_ids=group_ids, + group_names=group_names, + limit=limit, + member_names=member_names, + offset=offset, + sort=sort, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._protection_groups_api.api226_protection_groups_hosts_get_with_http_info + _process_references(groups, ['group_ids', 'group_names'], kwargs) + _process_references(members, ['member_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def post_protection_groups_hosts( + self, + groups=None, # type: List[models.ReferenceType] + members=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + group_ids=None, # type: List[str] + group_names=None, # type: List[str] + member_names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.MemberNoIdMemberResponse + """ + Creates an action to add a host member to a protection group. Members that are + already in the protection group are not affected. For asynchronous replication, + only members of the same type can belong to a protection group. The + `group_names` parameter represents the name of the protection group, and the + `member_names` parameter represents the name of the host. The `group_names` and + `member_names` parameters are required and must be set together. + + Args: + groups (list[FixedReference], optional): + A list of groups to query for. Overrides group_ids and group_names keyword arguments. + members (list[FixedReference], optional): + A list of members to query for. Overrides member_names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + group_ids (list[str], optional): + A list of group IDs. + group_names (list[str], optional): + Performs the operation on the unique group name specified. Examples of groups + include host groups, pods, protection groups, and volume groups. Enter multiple + names in comma-separated format. For example, `hgroup01,hgroup02`. + member_names (list[str], optional): + Performs the operation on the unique member name specified. Examples of members + include volumes, hosts, host groups, and directories. Enter multiple names in + comma-separated format. For example, `vol01,vol02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + group_ids=group_ids, + group_names=group_names, + member_names=member_names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._protection_groups_api.api226_protection_groups_hosts_post_with_http_info + _process_references(groups, ['group_ids', 'group_names'], kwargs) + _process_references(members, ['member_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def patch_protection_groups( + self, + references=None, # type: List[models.ReferenceType] + protection_group=None, # type: models.ProtectionGroup + authorization=None, # type: str + x_request_id=None, # type: str + ids=None, # type: List[str] + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.ProtectionGroupResponse + """ + Modifies the protection group schedules to generate and replicate snapshots to + another array or to an external storage system. Renames or destroys a protection + group. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides ids and names keyword arguments. + + protection_group (ProtectionGroup, required): + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + ids (list[str], optional): + Performs the operation on the unique resource IDs specified. Enter multiple + resource IDs in comma-separated format. The `ids` or `names` parameter is + required, but they cannot be set together. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + protection_group=protection_group, + authorization=authorization, + x_request_id=x_request_id, + ids=ids, + names=names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._protection_groups_api.api226_protection_groups_patch_with_http_info + _process_references(references, ['ids', 'names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_protection_groups_performance_replication_by_array( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + destroyed=None, # type: bool + filter=None, # type: str + end_time=None, # type: int + resolution=None, # type: int + start_time=None, # type: int + ids=None, # type: List[str] + names=None, # type: List[str] + limit=None, # type: int + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.ProtectionGroupPerformanceArrayResponse + """ + Displays the total number of bytes of replication data transmitted and received + per second. The data is grouped by protection group and includes the names of + the source array and targets for each protection group. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides ids and names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + destroyed (bool, optional): + If set to `true`, lists only destroyed objects that are in the eradication + pending state. If set to `false`, lists only objects that are not destroyed. For + destroyed objects, the time remaining is displayed in milliseconds. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + end_time (int, optional): + Displays historical performance data for the specified time window, where + `start_time` is the beginning of the time window, and `end_time` is the end of + the time window. The `start_time` and `end_time` parameters are specified in + milliseconds since the UNIX epoch. If `start_time` is not specified, the start + time will default to one resolution before the end time, meaning that the most + recent sample of performance data will be displayed. If `end_time`is not + specified, the end time will default to the current time. Include the + `resolution` parameter to display the performance data at the specified + resolution. If not specified, `resolution` defaults to the lowest valid + resolution. + resolution (int, optional): + The number of milliseconds between samples of historical data. For array-wide + performance metrics (`/arrays/performance` endpoint), valid values are `1000` (1 + second), `30000` (30 seconds), `300000` (5 minutes), `1800000` (30 minutes), + `7200000` (2 hours), `28800000` (8 hours), and `86400000` (24 hours). For + performance metrics on storage objects (`/performance` endpoint), + such as volumes, valid values are `30000` (30 seconds), `300000` (5 minutes), + `1800000` (30 minutes), `7200000` (2 hours), `28800000` (8 hours), and + `86400000` (24 hours). For space metrics, (`/space` endpoint), + valid values are `300000` (5 minutes), `1800000` (30 minutes), `7200000` (2 + hours), `28800000` (8 hours), and `86400000` (24 hours). Include the + `start_time` parameter to display the performance data starting at the specified + start time. If `start_time` is not specified, the start time will default to one + resolution before the end time, meaning that the most recent sample of + performance data will be displayed. Include the `end_time` parameter to display + the performance data until the specified end time. If `end_time`is not + specified, the end time will default to the current time. If the `resolution` + parameter is not specified but either the `start_time` or `end_time` parameter + is, then `resolution` will default to the lowest valid resolution. + start_time (int, optional): + Displays historical performance data for the specified time window, where + `start_time` is the beginning of the time window, and `end_time` is the end of + the time window. The `start_time` and `end_time` parameters are specified in + milliseconds since the UNIX epoch. If `start_time` is not specified, the start + time will default to one resolution before the end time, meaning that the most + recent sample of performance data will be displayed. If `end_time`is not + specified, the end time will default to the current time. Include the + `resolution` parameter to display the performance data at the specified + resolution. If not specified, `resolution` defaults to the lowest valid + resolution. + ids (list[str], optional): + Performs the operation on the unique resource IDs specified. Enter multiple + resource IDs in comma-separated format. The `ids` or `names` parameter is + required, but they cannot be set together. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + destroyed=destroyed, + filter=filter, + end_time=end_time, + resolution=resolution, + start_time=start_time, + ids=ids, + names=names, + limit=limit, + offset=offset, + sort=sort, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._protection_groups_api.api226_protection_groups_performance_replication_by_array_get_with_http_info + _process_references(references, ['ids', 'names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_protection_groups_performance_replication( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + destroyed=None, # type: bool + filter=None, # type: str + end_time=None, # type: int + resolution=None, # type: int + start_time=None, # type: int + ids=None, # type: List[str] + names=None, # type: List[str] + limit=None, # type: int + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.ProtectionGroupPerformanceResponse + """ + Displays the total number of bytes of replication data transmitted and received + per second. The data is grouped by protection group. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides ids and names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + destroyed (bool, optional): + If set to `true`, lists only destroyed objects that are in the eradication + pending state. If set to `false`, lists only objects that are not destroyed. For + destroyed objects, the time remaining is displayed in milliseconds. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + end_time (int, optional): + Displays historical performance data for the specified time window, where + `start_time` is the beginning of the time window, and `end_time` is the end of + the time window. The `start_time` and `end_time` parameters are specified in + milliseconds since the UNIX epoch. If `start_time` is not specified, the start + time will default to one resolution before the end time, meaning that the most + recent sample of performance data will be displayed. If `end_time`is not + specified, the end time will default to the current time. Include the + `resolution` parameter to display the performance data at the specified + resolution. If not specified, `resolution` defaults to the lowest valid + resolution. + resolution (int, optional): + The number of milliseconds between samples of historical data. For array-wide + performance metrics (`/arrays/performance` endpoint), valid values are `1000` (1 + second), `30000` (30 seconds), `300000` (5 minutes), `1800000` (30 minutes), + `7200000` (2 hours), `28800000` (8 hours), and `86400000` (24 hours). For + performance metrics on storage objects (`/performance` endpoint), + such as volumes, valid values are `30000` (30 seconds), `300000` (5 minutes), + `1800000` (30 minutes), `7200000` (2 hours), `28800000` (8 hours), and + `86400000` (24 hours). For space metrics, (`/space` endpoint), + valid values are `300000` (5 minutes), `1800000` (30 minutes), `7200000` (2 + hours), `28800000` (8 hours), and `86400000` (24 hours). Include the + `start_time` parameter to display the performance data starting at the specified + start time. If `start_time` is not specified, the start time will default to one + resolution before the end time, meaning that the most recent sample of + performance data will be displayed. Include the `end_time` parameter to display + the performance data until the specified end time. If `end_time`is not + specified, the end time will default to the current time. If the `resolution` + parameter is not specified but either the `start_time` or `end_time` parameter + is, then `resolution` will default to the lowest valid resolution. + start_time (int, optional): + Displays historical performance data for the specified time window, where + `start_time` is the beginning of the time window, and `end_time` is the end of + the time window. The `start_time` and `end_time` parameters are specified in + milliseconds since the UNIX epoch. If `start_time` is not specified, the start + time will default to one resolution before the end time, meaning that the most + recent sample of performance data will be displayed. If `end_time`is not + specified, the end time will default to the current time. Include the + `resolution` parameter to display the performance data at the specified + resolution. If not specified, `resolution` defaults to the lowest valid + resolution. + ids (list[str], optional): + Performs the operation on the unique resource IDs specified. Enter multiple + resource IDs in comma-separated format. The `ids` or `names` parameter is + required, but they cannot be set together. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + destroyed=destroyed, + filter=filter, + end_time=end_time, + resolution=resolution, + start_time=start_time, + ids=ids, + names=names, + limit=limit, + offset=offset, + sort=sort, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._protection_groups_api.api226_protection_groups_performance_replication_get_with_http_info + _process_references(references, ['ids', 'names'], kwargs) + return self._call_api(endpoint, kwargs) + + def post_protection_groups( + self, + references=None, # type: List[models.ReferenceType] + sources=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + source_ids=None, # type: List[str] + source_names=None, # type: List[str] + overwrite=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.ProtectionGroupResponse + """ + Creates a protection group on the local array for asynchronous replication. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names keyword arguments. + sources (list[FixedReference], optional): + A list of sources to query for. Overrides source_ids and source_names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + source_ids (list[str], optional): + The id of the protection group or protection group snapshot to be copied into a + new or existing protection group. If the destination protection group and all of + its volumes already exist, include the `overwrite` parameter to overwrite all of + the existing volumes with the snapshot contents. If including the `overwrite` + parameter, the names of the volumes that are being overwritten must match the + names of the volumes that are being restored. If the source is a protection + group, the latest snapshot of the protection group will be used as the source + during the copy operation. + source_names (list[str], optional): + The name of the protection group or protection group snapshot to be copied into + a new or existing protection group. If the destination protection group and all + of its volumes already exist, include the `overwrite` parameter to overwrite all + of the existing volumes with the snapshot contents. If including the `overwrite` + parameter, the names of the volumes that are being overwritten must match the + names of the volumes that are being restored. If the source is a protection + group, the latest snapshot of the protection group will be used as the source + during the copy operation. + overwrite (bool, optional): + If set to `true`, overwrites an existing object during an object copy operation. + If set to `false` or not set at all and the target name is an existing object, + the copy operation fails. Required if the `source` body parameter is set and the + source overwrites an existing object during the copy operation. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + names=names, + source_ids=source_ids, + source_names=source_names, + overwrite=overwrite, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._protection_groups_api.api226_protection_groups_post_with_http_info + _process_references(references, ['names'], kwargs) + _process_references(sources, ['source_ids', 'source_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_protection_groups_space( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + destroyed=None, # type: bool + filter=None, # type: str + limit=None, # type: int + ids=None, # type: List[str] + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + total_only=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.ResourceSpaceGetResponse + """ + Displays provisioned size and physical storage consumption data for each + protection group. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides ids and names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + destroyed (bool, optional): + If set to `true`, lists only destroyed objects that are in the eradication + pending state. If set to `false`, lists only objects that are not destroyed. For + destroyed objects, the time remaining is displayed in milliseconds. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + ids (list[str], optional): + Performs the operation on the unique resource IDs specified. Enter multiple + resource IDs in comma-separated format. The `ids` or `names` parameter is + required, but they cannot be set together. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + total_only (bool, optional): + If set to `true`, returns the aggregate value of all items after filtering. + Where it makes more sense, the average value is displayed instead. The values + are displayed for each name where meaningful. If `total_only=true`, the `items` + list will be empty. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + destroyed=destroyed, + filter=filter, + limit=limit, + ids=ids, + names=names, + offset=offset, + sort=sort, + total_item_count=total_item_count, + total_only=total_only, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._protection_groups_api.api226_protection_groups_space_get_with_http_info + _process_references(references, ['ids', 'names'], kwargs) + return self._call_api(endpoint, kwargs) + + def delete_protection_groups_targets( + self, + groups=None, # type: List[models.ReferenceType] + members=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + group_ids=None, # type: List[str] + group_names=None, # type: List[str] + member_names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """ + Deletes an array or offload target from a protection group. The `group_names` + parameter represents the name of the protection group. The `member_names` + parameter represents the name of the array or offload target that is being + removed from the protection group. The `group_names` and `member_names` + parameters are required and must be set together. + + Args: + groups (list[FixedReference], optional): + A list of groups to query for. Overrides group_ids and group_names keyword arguments. + members (list[FixedReference], optional): + A list of members to query for. Overrides member_names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + group_ids (list[str], optional): + A list of group IDs. + group_names (list[str], optional): + Performs the operation on the unique group name specified. Examples of groups + include host groups, pods, protection groups, and volume groups. Enter multiple + names in comma-separated format. For example, `hgroup01,hgroup02`. + member_names (list[str], optional): + Performs the operation on the unique member name specified. Examples of members + include volumes, hosts, host groups, and directories. Enter multiple names in + comma-separated format. For example, `vol01,vol02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + group_ids=group_ids, + group_names=group_names, + member_names=member_names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._protection_groups_api.api226_protection_groups_targets_delete_with_http_info + _process_references(groups, ['group_ids', 'group_names'], kwargs) + _process_references(members, ['member_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_protection_groups_targets( + self, + groups=None, # type: List[models.ReferenceType] + members=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + filter=None, # type: str + group_ids=None, # type: List[str] + group_names=None, # type: List[str] + limit=None, # type: int + member_names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.ProtectionGroupTargetGetResponse + """ + Displays a list of protection groups that have target arrays or offload targets. + + Args: + groups (list[FixedReference], optional): + A list of groups to query for. Overrides group_ids and group_names keyword arguments. + members (list[FixedReference], optional): + A list of members to query for. Overrides member_names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + continuation_token (str, optional): + An opaque token to iterate over a collection of resources. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + group_ids (list[str], optional): + A list of group IDs. + group_names (list[str], optional): + Performs the operation on the unique group name specified. Examples of groups + include host groups, pods, protection groups, and volume groups. Enter multiple + names in comma-separated format. For example, `hgroup01,hgroup02`. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + member_names (list[str], optional): + Performs the operation on the unique member name specified. Examples of members + include volumes, hosts, host groups, and directories. Enter multiple names in + comma-separated format. For example, `vol01,vol02`. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + continuation_token=continuation_token, + filter=filter, + group_ids=group_ids, + group_names=group_names, + limit=limit, + member_names=member_names, + offset=offset, + sort=sort, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._protection_groups_api.api226_protection_groups_targets_get_with_http_info + _process_references(groups, ['group_ids', 'group_names'], kwargs) + _process_references(members, ['member_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def patch_protection_groups_targets( + self, + groups=None, # type: List[models.ReferenceType] + members=None, # type: List[models.ReferenceType] + target=None, # type: models.TargetProtectionGroupPostPatch + authorization=None, # type: str + x_request_id=None, # type: str + group_ids=None, # type: List[str] + group_names=None, # type: List[str] + member_names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.ProtectionGroupTargetResponse + """ + Modifies the source array to replicate protection group data to the target + array, or disallows the source array from replicating protection group data to + the target array. The `allowed` parameter must be set from the target array. The + `group_names` parameter represents the name of the protection group. The + `allowed` and `group_names` parameters are required and must be set together. + Offload targets do not support the `allowed` parameter. + + Args: + groups (list[FixedReference], optional): + A list of groups to query for. Overrides group_ids and group_names keyword arguments. + members (list[FixedReference], optional): + A list of members to query for. Overrides member_names keyword arguments. + + target (TargetProtectionGroupPostPatch, required): + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + group_ids (list[str], optional): + A list of group IDs. + group_names (list[str], optional): + Performs the operation on the unique group name specified. Examples of groups + include host groups, pods, protection groups, and volume groups. Enter multiple + names in comma-separated format. For example, `hgroup01,hgroup02`. + member_names (list[str], optional): + Performs the operation on the unique member name specified. Examples of members + include volumes, hosts, host groups, and directories. Enter multiple names in + comma-separated format. For example, `vol01,vol02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + target=target, + authorization=authorization, + x_request_id=x_request_id, + group_ids=group_ids, + group_names=group_names, + member_names=member_names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._protection_groups_api.api226_protection_groups_targets_patch_with_http_info + _process_references(groups, ['group_ids', 'group_names'], kwargs) + _process_references(members, ['member_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def post_protection_groups_targets( + self, + groups=None, # type: List[models.ReferenceType] + members=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + group_ids=None, # type: List[str] + group_names=None, # type: List[str] + member_names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.ProtectionGroupTargetResponse + """ + Creates an action to add an array or offload target to a protection group. The + `group_names` parameter represents the name of the protection group. The + `member_names` parameter represents the name of the array or offload target that + is being added to the protection group. The `group_names` and `member_names` + parameters are required and must be set together. + + Args: + groups (list[FixedReference], optional): + A list of groups to query for. Overrides group_ids and group_names keyword arguments. + members (list[FixedReference], optional): + A list of members to query for. Overrides member_names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + group_ids (list[str], optional): + A list of group IDs. + group_names (list[str], optional): + Performs the operation on the unique group name specified. Examples of groups + include host groups, pods, protection groups, and volume groups. Enter multiple + names in comma-separated format. For example, `hgroup01,hgroup02`. + member_names (list[str], optional): + Performs the operation on the unique member name specified. Examples of members + include volumes, hosts, host groups, and directories. Enter multiple names in + comma-separated format. For example, `vol01,vol02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + group_ids=group_ids, + group_names=group_names, + member_names=member_names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._protection_groups_api.api226_protection_groups_targets_post_with_http_info + _process_references(groups, ['group_ids', 'group_names'], kwargs) + _process_references(members, ['member_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def delete_protection_groups_volumes( + self, + groups=None, # type: List[models.ReferenceType] + members=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + group_ids=None, # type: List[str] + group_names=None, # type: List[str] + member_names=None, # type: List[str] + member_ids=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """ + Deletes a volume member from a protection group. After the member has been + deleted, it is no longer protected by the group. Any protection group snapshots + that were taken before the member was deleted are not affected. Deleting a + member from a protection group does not delete the member from the array, and + the member can be added back to the protection group at any time. The + `group_names` parameter represents the name of the protection group, and the + `member_names` and `member_ids` parameters represent the names or IDs of the + volume. The `group_names` parameter, and either the `member_names` or + `member_ids` parameters are required and must be set together. + + Args: + groups (list[FixedReference], optional): + A list of groups to query for. Overrides group_ids and group_names keyword arguments. + members (list[FixedReference], optional): + A list of members to query for. Overrides member_names and member_ids keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + group_ids (list[str], optional): + A list of group IDs. + group_names (list[str], optional): + Performs the operation on the unique group name specified. Examples of groups + include host groups, pods, protection groups, and volume groups. Enter multiple + names in comma-separated format. For example, `hgroup01,hgroup02`. + member_names (list[str], optional): + Performs the operation on the unique member name specified. Examples of members + include volumes, hosts, host groups, and directories. Enter multiple names in + comma-separated format. For example, `vol01,vol02`. + member_ids (list[str], optional): + Performs the operation on the unique member IDs specified. Enter multiple member + IDs in comma-separated format. The `member_ids` or `member_names` parameter is + required, but they cannot be set together. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + group_ids=group_ids, + group_names=group_names, + member_names=member_names, + member_ids=member_ids, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._protection_groups_api.api226_protection_groups_volumes_delete_with_http_info + _process_references(groups, ['group_ids', 'group_names'], kwargs) + _process_references(members, ['member_names', 'member_ids'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_protection_groups_volumes( + self, + groups=None, # type: List[models.ReferenceType] + members=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + filter=None, # type: str + group_ids=None, # type: List[str] + group_names=None, # type: List[str] + limit=None, # type: int + member_destroyed=None, # type: bool + member_ids=None, # type: List[str] + member_names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.ProtectionGroupsVolumesGetResponse + """ + Displays a list of protection groups that have volume members. + + Args: + groups (list[FixedReference], optional): + A list of groups to query for. Overrides group_ids and group_names keyword arguments. + members (list[FixedReference], optional): + A list of members to query for. Overrides member_ids and member_names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + continuation_token (str, optional): + An opaque token to iterate over a collection of resources. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + group_ids (list[str], optional): + Performs the operation on the unique group id specified. Provide multiple + resource IDs in comma-separated format. The group_ids or names parameter is + required, but they cannot be set together. + group_names (list[str], optional): + Performs the operation on the unique group name specified. Examples of groups + include host groups, pods, protection groups, and volume groups. Enter multiple + names in comma-separated format. For example, `hgroup01,hgroup02`. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + member_destroyed (bool, optional): + If true, returns only destroyed member objects. Returns an error if a name of a + live member object is specified in the member_names query param. If false, + returns only live member objects. Returns an error if a name of a destroyed + member object is specified in the member_names query param. + member_ids (list[str], optional): + Performs the operation on the unique member IDs specified. Enter multiple member + IDs in comma-separated format. The `member_ids` or `member_names` parameter is + required, but they cannot be set together. + member_names (list[str], optional): + Performs the operation on the unique member name specified. Examples of members + include volumes, hosts, host groups, and directories. Enter multiple names in + comma-separated format. For example, `vol01,vol02`. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + continuation_token=continuation_token, + filter=filter, + group_ids=group_ids, + group_names=group_names, + limit=limit, + member_destroyed=member_destroyed, + member_ids=member_ids, + member_names=member_names, + offset=offset, + sort=sort, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._protection_groups_api.api226_protection_groups_volumes_get_with_http_info + _process_references(groups, ['group_ids', 'group_names'], kwargs) + _process_references(members, ['member_ids', 'member_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def post_protection_groups_volumes( + self, + groups=None, # type: List[models.ReferenceType] + members=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + group_ids=None, # type: List[str] + group_names=None, # type: List[str] + member_names=None, # type: List[str] + member_ids=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.ProtectionGroupsVolumesResponse + """ + Creates a volume member and adds it to a protection group. Members that are + already in the protection group are not affected. For asynchronous replication, + only members of the same type can belong to a protection group. The + `group_names` parameter represents the name of the protection group, and the + `member_names` and `member_ids` parameters represent the names or IDs of the + volume. The `group_names` parameter, and either the `member_names` or + `member_ids` parameters are required and must be set together. + + Args: + groups (list[FixedReference], optional): + A list of groups to query for. Overrides group_ids and group_names keyword arguments. + members (list[FixedReference], optional): + A list of members to query for. Overrides member_names and member_ids keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + group_ids (list[str], optional): + A list of group IDs. + group_names (list[str], optional): + Performs the operation on the unique group name specified. Examples of groups + include host groups, pods, protection groups, and volume groups. Enter multiple + names in comma-separated format. For example, `hgroup01,hgroup02`. + member_names (list[str], optional): + Performs the operation on the unique member name specified. Examples of members + include volumes, hosts, host groups, and directories. Enter multiple names in + comma-separated format. For example, `vol01,vol02`. + member_ids (list[str], optional): + Performs the operation on the unique member IDs specified. Enter multiple member + IDs in comma-separated format. The `member_ids` or `member_names` parameter is + required, but they cannot be set together. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + group_ids=group_ids, + group_names=group_names, + member_names=member_names, + member_ids=member_ids, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._protection_groups_api.api226_protection_groups_volumes_post_with_http_info + _process_references(groups, ['group_ids', 'group_names'], kwargs) + _process_references(members, ['member_names', 'member_ids'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_remote_pods( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + filter=None, # type: str + ids=None, # type: List[str] + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + on=None, # type: List[str] + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.RemotePodsResponse + """ + Returns a list of pods that that are on connected arrays but not stretched to + this array. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides ids and names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + ids (list[str], optional): + Performs the operation on the unique resource IDs specified. Enter multiple + resource IDs in comma-separated format. The `ids` or `names` parameter is + required, but they cannot be set together. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + on (list[str], optional): + Performs the operation on the target name specified. Enter multiple target names + in comma-separated format. For example, `targetName01,targetName02`. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + filter=filter, + ids=ids, + limit=limit, + names=names, + offset=offset, + on=on, + sort=sort, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._remote_pods_api.api226_remote_pods_get_with_http_info + _process_references(references, ['ids', 'names'], kwargs) + return self._call_api(endpoint, kwargs) + + def delete_remote_protection_group_snapshots( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + ids=None, # type: List[str] + on=None, # type: str + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """ + Deletes a remote protection group snapshot that has been destroyed and is + pending eradication. Eradicated remote protection group snapshots cannot be + recovered. Remote protection group snapshots are destroyed using the `PATCH` + method. The `names` parameter represents the name of the protection group + snapshot. The `on` parameter represents the name of the offload target. The + `names` and `on` parameters are required and must be used together. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names and ids keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + ids (list[str], optional): + Performs the operation on the unique resource IDs specified. Enter multiple + resource IDs in comma-separated format. The `ids` or `names` parameter is + required, but they cannot be set together. + on (str, optional): + Performs the operation on the target name specified. For example, + `targetName01`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + names=names, + ids=ids, + on=on, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._remote_protection_group_snapshots_api.api226_remote_protection_group_snapshots_delete_with_http_info + _process_references(references, ['names', 'ids'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_remote_protection_group_snapshots( + self, + references=None, # type: List[models.ReferenceType] + sources=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + destroyed=None, # type: bool + filter=None, # type: str + limit=None, # type: int + ids=None, # type: List[str] + names=None, # type: List[str] + offset=None, # type: int + on=None, # type: List[str] + sort=None, # type: List[str] + source_ids=None, # type: List[str] + source_names=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.RemoteProtectionGroupSnapshotGetResponse + """ + Displays a list of remote protection group snapshots. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides ids and names keyword arguments. + sources (list[FixedReference], optional): + A list of sources to query for. Overrides source_ids and source_names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + destroyed (bool, optional): + If set to `true`, lists only destroyed objects that are in the eradication + pending state. If set to `false`, lists only objects that are not destroyed. For + destroyed objects, the time remaining is displayed in milliseconds. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + ids (list[str], optional): + Performs the operation on the unique resource IDs specified. Enter multiple + resource IDs in comma-separated format. The `ids` or `names` parameter is + required, but they cannot be set together. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + on (list[str], optional): + Performs the operation on the target name specified. Enter multiple target names + in comma-separated format. For example, `targetName01,targetName02`. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + source_ids (list[str], optional): + Performs the operation on the source ID specified. Enter multiple source IDs in + comma-separated format. + source_names (list[str], optional): + Performs the operation on the source name specified. Enter multiple source names + in comma-separated format. For example, `name01,name02`. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + destroyed=destroyed, + filter=filter, + limit=limit, + ids=ids, + names=names, + offset=offset, + on=on, + sort=sort, + source_ids=source_ids, + source_names=source_names, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._remote_protection_group_snapshots_api.api226_remote_protection_group_snapshots_get_with_http_info + _process_references(references, ['ids', 'names'], kwargs) + _process_references(sources, ['source_ids', 'source_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def patch_remote_protection_group_snapshots( + self, + references=None, # type: List[models.ReferenceType] + remote_protection_group_snapshot=None, # type: models.DestroyedPatchPost + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + ids=None, # type: List[str] + on=None, # type: str + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.RemoteProtectionGroupSnapshotResponse + """ + Modifies a remote protection group snapshot, removing it from the offload target + and destroying the snapshot. The `on` parameter represents the name of the + offload target. The `ids` or `names` parameter and the `on` parameter are + required and must be used together. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names and ids keyword arguments. + + remote_protection_group_snapshot (DestroyedPatchPost, required): + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + ids (list[str], optional): + Performs the operation on the unique resource IDs specified. Enter multiple + resource IDs in comma-separated format. The `ids` or `names` parameter is + required, but they cannot be set together. + on (str, optional): + Performs the operation on the target name specified. For example, + `targetName01`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + remote_protection_group_snapshot=remote_protection_group_snapshot, + authorization=authorization, + x_request_id=x_request_id, + names=names, + ids=ids, + on=on, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._remote_protection_group_snapshots_api.api226_remote_protection_group_snapshots_patch_with_http_info + _process_references(references, ['names', 'ids'], kwargs) + return self._call_api(endpoint, kwargs) + + def post_remote_protection_group_snapshots( + self, + references=None, # type: List[models.ReferenceType] + sources=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + apply_retention=None, # type: bool + convert_source_to_baseline=None, # type: bool + for_replication=None, # type: bool + ids=None, # type: List[str] + names=None, # type: List[str] + replicate=None, # type: bool + replicate_now=None, # type: bool + allow_throttle=None, # type: bool + source_names=None, # type: List[str] + source_ids=None, # type: List[str] + on=None, # type: str + remote_protection_group_snapshot=None, # type: models.RemoteProtectionGroupSnapshotPost + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.RemoteProtectionGroupSnapshotResponse + """ + Creates remote protection group snapshots. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides ids and names keyword arguments. + sources (list[FixedReference], optional): + A list of sources to query for. Overrides source_names and source_ids keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + apply_retention (bool, optional): + If `true`, applies the local and remote retention policy to the snapshots. + convert_source_to_baseline (bool, optional): + Set to `true` to have the snapshot be eradicated when it is no longer baseline + on source. + for_replication (bool, optional): + If `true`, destroys and eradicates the snapshot after 1 hour. + ids (list[str], optional): + Performs the operation on the unique resource IDs specified. Enter multiple + resource IDs in comma-separated format. The `ids` or `names` parameter is + required, but they cannot be set together. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + replicate (bool, optional): + If set to `true`, queues up and begins replicating to each allowed target after + all earlier replication sessions for the same protection group have been + completed to that target. The `replicate` and `replicate_now` parameters cannot + be used together. + replicate_now (bool, optional): + If set to `true`, replicates the snapshots to each allowed target. The + `replicate` and `replicate_now` parameters cannot be used together. + allow_throttle (bool, optional): + If set to `true`, allows snapshot to fail if array health is not optimal. + source_names (list[str], optional): + Performs the operation on the source name specified. Enter multiple source names + in comma-separated format. For example, `name01,name02`. + source_ids (list[str], optional): + Performs the operation on the source ID specified. Enter multiple source IDs in + comma-separated format. + on (str, optional): + Performs the operation on the target name specified. For example, + `targetName01`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + apply_retention=apply_retention, + convert_source_to_baseline=convert_source_to_baseline, + for_replication=for_replication, + ids=ids, + names=names, + replicate=replicate, + replicate_now=replicate_now, + allow_throttle=allow_throttle, + source_names=source_names, + source_ids=source_ids, + on=on, + remote_protection_group_snapshot=remote_protection_group_snapshot, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._remote_protection_group_snapshots_api.api226_remote_protection_group_snapshots_post_with_http_info + _process_references(references, ['ids', 'names'], kwargs) + _process_references(sources, ['source_names', 'source_ids'], kwargs) + return self._call_api(endpoint, kwargs) + + def post_remote_protection_group_snapshots_test( + self, + references=None, # type: List[models.ReferenceType] + sources=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + apply_retention=None, # type: bool + convert_source_to_baseline=None, # type: bool + for_replication=None, # type: bool + ids=None, # type: List[str] + names=None, # type: List[str] + replicate=None, # type: bool + replicate_now=None, # type: bool + allow_throttle=None, # type: bool + source_ids=None, # type: List[str] + source_names=None, # type: List[str] + on=None, # type: str + remote_protection_group_snapshot=None, # type: models.RemoteProtectionGroupSnapshotPost + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.TestResultWithResourceWithIdPostResponse + """ + Create an attempt to take a remote protection group snapshot without actually + taking it, to test if the snapshot can be successfully taken. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides ids and names keyword arguments. + sources (list[FixedReference], optional): + A list of sources to query for. Overrides source_ids and source_names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + apply_retention (bool, optional): + If `true`, applies the local and remote retention policy to the snapshots. + convert_source_to_baseline (bool, optional): + Set to `true` to have the snapshot be eradicated when it is no longer baseline + on source. + for_replication (bool, optional): + If `true`, destroys and eradicates the snapshot after 1 hour. + ids (list[str], optional): + Performs the operation on the unique resource IDs specified. Enter multiple + resource IDs in comma-separated format. The `ids` or `names` parameter is + required, but they cannot be set together. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + replicate (bool, optional): + If set to `true`, queues up and begins replicating to each allowed target after + all earlier replication sessions for the same protection group have been + completed to that target. The `replicate` and `replicate_now` parameters cannot + be used together. + replicate_now (bool, optional): + If set to `true`, replicates the snapshots to each allowed target. The + `replicate` and `replicate_now` parameters cannot be used together. + allow_throttle (bool, optional): + If set to `true`, allows snapshot to fail if array health is not optimal. + source_ids (list[str], optional): + Performs the operation on the source ID specified. Enter multiple source IDs in + comma-separated format. + source_names (list[str], optional): + Performs the operation on the source name specified. Enter multiple source names + in comma-separated format. For example, `name01,name02`. + on (str, optional): + Performs the operation on the target name specified. For example, + `targetName01`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + apply_retention=apply_retention, + convert_source_to_baseline=convert_source_to_baseline, + for_replication=for_replication, + ids=ids, + names=names, + replicate=replicate, + replicate_now=replicate_now, + allow_throttle=allow_throttle, + source_ids=source_ids, + source_names=source_names, + on=on, + remote_protection_group_snapshot=remote_protection_group_snapshot, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._remote_protection_group_snapshots_api.api226_remote_protection_group_snapshots_test_post_with_http_info + _process_references(references, ['ids', 'names'], kwargs) + _process_references(sources, ['source_ids', 'source_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_remote_protection_group_snapshots_transfer( + self, + references=None, # type: List[models.ReferenceType] + sources=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + destroyed=None, # type: bool + filter=None, # type: str + limit=None, # type: int + ids=None, # type: List[str] + names=None, # type: List[str] + offset=None, # type: int + on=None, # type: List[str] + sort=None, # type: List[str] + source_ids=None, # type: List[str] + source_names=None, # type: List[str] + total_item_count=None, # type: bool + total_only=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.RemoteProtectionGroupSnapshotTransferGetResponse + """ + Displays a list of remote protection groups and their transfer statistics. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides ids and names keyword arguments. + sources (list[FixedReference], optional): + A list of sources to query for. Overrides source_ids and source_names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + destroyed (bool, optional): + If set to `true`, lists only destroyed objects that are in the eradication + pending state. If set to `false`, lists only objects that are not destroyed. For + destroyed objects, the time remaining is displayed in milliseconds. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + ids (list[str], optional): + Performs the operation on the unique resource IDs specified. Enter multiple + resource IDs in comma-separated format. The `ids` or `names` parameter is + required, but they cannot be set together. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + on (list[str], optional): + Performs the operation on the target name specified. Enter multiple target names + in comma-separated format. For example, `targetName01,targetName02`. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + source_ids (list[str], optional): + Performs the operation on the source ID specified. Enter multiple source IDs in + comma-separated format. + source_names (list[str], optional): + Performs the operation on the source name specified. Enter multiple source names + in comma-separated format. For example, `name01,name02`. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + total_only (bool, optional): + If set to `true`, returns the aggregate value of all items after filtering. + Where it makes more sense, the average value is displayed instead. The values + are displayed for each name where meaningful. If `total_only=true`, the `items` + list will be empty. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + destroyed=destroyed, + filter=filter, + limit=limit, + ids=ids, + names=names, + offset=offset, + on=on, + sort=sort, + source_ids=source_ids, + source_names=source_names, + total_item_count=total_item_count, + total_only=total_only, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._remote_protection_group_snapshots_api.api226_remote_protection_group_snapshots_transfer_get_with_http_info + _process_references(references, ['ids', 'names'], kwargs) + _process_references(sources, ['source_ids', 'source_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def delete_remote_protection_groups( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + ids=None, # type: List[str] + names=None, # type: List[str] + on=None, # type: str + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """ + Eradicates a remote protection group that has been destroyed and is pending + eradication. Eradicated remote protection groups cannot be recovered. Remote + protection groups are destroyed through the `PATCH` method. The `on` parameter + represents the name of the offload target. The `ids` or `names` parameter and + the `on` parameter are required and must be used together. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides ids and names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + ids (list[str], optional): + Performs the operation on the unique resource IDs specified. Enter multiple + resource IDs in comma-separated format. The `ids` or `names` parameter is + required, but they cannot be set together. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + on (str, optional): + Performs the operation on the target name specified. For example, + `targetName01`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + ids=ids, + names=names, + on=on, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._remote_protection_groups_api.api226_remote_protection_groups_delete_with_http_info + _process_references(references, ['ids', 'names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_remote_protection_groups( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + destroyed=None, # type: bool + filter=None, # type: str + ids=None, # type: List[str] + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + on=None, # type: List[str] + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.RemoteProtectionGroupGetResponse + """ + Returns a list of remote protection groups. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides ids and names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + destroyed (bool, optional): + If set to `true`, lists only destroyed objects that are in the eradication + pending state. If set to `false`, lists only objects that are not destroyed. For + destroyed objects, the time remaining is displayed in milliseconds. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + ids (list[str], optional): + Performs the operation on the unique resource IDs specified. Enter multiple + resource IDs in comma-separated format. The `ids` or `names` parameter is + required, but they cannot be set together. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + on (list[str], optional): + Performs the operation on the target name specified. Enter multiple target names + in comma-separated format. For example, `targetName01,targetName02`. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + destroyed=destroyed, + filter=filter, + ids=ids, + limit=limit, + names=names, + offset=offset, + on=on, + sort=sort, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._remote_protection_groups_api.api226_remote_protection_groups_get_with_http_info + _process_references(references, ['ids', 'names'], kwargs) + return self._call_api(endpoint, kwargs) + + def patch_remote_protection_groups( + self, + references=None, # type: List[models.ReferenceType] + remote_protection_group=None, # type: models.RemoteProtectionGroup + authorization=None, # type: str + x_request_id=None, # type: str + ids=None, # type: List[str] + names=None, # type: List[str] + on=None, # type: str + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.RemoteProtectionGroupResponse + """ + Configures the snapshot retention schedule of a remote protection group. Also + destroys a remote protection group from the offload target. Before the remote + protection group can be destroyed, the offload target must first be removed from + the protection group via the source array. The `on` parameter represents the + name of the offload target. The `ids` or `names` parameter and the `on` + parameter are required and must be used together. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides ids and names keyword arguments. + + remote_protection_group (RemoteProtectionGroup, required): + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + ids (list[str], optional): + Performs the operation on the unique resource IDs specified. Enter multiple + resource IDs in comma-separated format. The `ids` or `names` parameter is + required, but they cannot be set together. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + on (str, optional): + Performs the operation on the target name specified. For example, + `targetName01`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + remote_protection_group=remote_protection_group, + authorization=authorization, + x_request_id=x_request_id, + ids=ids, + names=names, + on=on, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._remote_protection_groups_api.api226_remote_protection_groups_patch_with_http_info + _process_references(references, ['ids', 'names'], kwargs) + return self._call_api(endpoint, kwargs) + + def delete_remote_volume_snapshots( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + on=None, # type: str + replication_snapshot=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """ + Eradicates a remote volume snapshot that has been destroyed and is pending + eradication. Eradicated remote volume snapshots cannot be recovered. Remote + volume snapshots are destroyed through the `PATCH` method. The `names` parameter + represents the name of the volume snapshot. The `on` parameter represents the + name of the offload target. The `names` and `on` parameters are required and + must be used together. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + on (str, optional): + Performs the operation on the target name specified. For example, + `targetName01`. + replication_snapshot (bool, optional): + If set to `true`, allow destruction/eradication of snapshots in use by + replication. If set to `false`, allow destruction/eradication of snapshots not + in use by replication. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + names=names, + on=on, + replication_snapshot=replication_snapshot, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._remote_volume_snapshots_api.api226_remote_volume_snapshots_delete_with_http_info + _process_references(references, ['names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_remote_volume_snapshots( + self, + references=None, # type: List[models.ReferenceType] + sources=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + destroyed=None, # type: bool + filter=None, # type: str + ids=None, # type: List[str] + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + on=None, # type: List[str] + sort=None, # type: List[str] + source_ids=None, # type: List[str] + source_names=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.RemoteVolumeSnapshotGetResponse + """ + Displays a list of remote volume snapshots. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides ids and names keyword arguments. + sources (list[FixedReference], optional): + A list of sources to query for. Overrides source_ids and source_names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + destroyed (bool, optional): + If set to `true`, lists only destroyed objects that are in the eradication + pending state. If set to `false`, lists only objects that are not destroyed. For + destroyed objects, the time remaining is displayed in milliseconds. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + ids (list[str], optional): + Performs the operation on the unique resource IDs specified. Enter multiple + resource IDs in comma-separated format. The `ids` or `names` parameter is + required, but they cannot be set together. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + on (list[str], optional): + Performs the operation on the target name specified. Enter multiple target names + in comma-separated format. For example, `targetName01,targetName02`. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + source_ids (list[str], optional): + Performs the operation on the source ID specified. Enter multiple source IDs in + comma-separated format. + source_names (list[str], optional): + Performs the operation on the source name specified. Enter multiple source names + in comma-separated format. For example, `name01,name02`. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + destroyed=destroyed, + filter=filter, + ids=ids, + limit=limit, + names=names, + offset=offset, + on=on, + sort=sort, + source_ids=source_ids, + source_names=source_names, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._remote_volume_snapshots_api.api226_remote_volume_snapshots_get_with_http_info + _process_references(references, ['ids', 'names'], kwargs) + _process_references(sources, ['source_ids', 'source_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def patch_remote_volume_snapshots( + self, + references=None, # type: List[models.ReferenceType] + remote_volume_snapshot=None, # type: models.DestroyedPatchPost + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + on=None, # type: str + replication_snapshot=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.RemoteVolumeSnapshotResponse + """ + Destroy or recover a remote volume snapshot from the offload target. The `on` + parameter represents the name of the offload target. The `names` parameter and + the `on` parameter are required and must be used together. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names keyword arguments. + + remote_volume_snapshot (DestroyedPatchPost, required): + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + on (str, optional): + Performs the operation on the target name specified. For example, + `targetName01`. + replication_snapshot (bool, optional): + If set to `true`, allow destruction/eradication of snapshots in use by + replication. If set to `false`, allow destruction/eradication of snapshots not + in use by replication. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + remote_volume_snapshot=remote_volume_snapshot, + authorization=authorization, + x_request_id=x_request_id, + names=names, + on=on, + replication_snapshot=replication_snapshot, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._remote_volume_snapshots_api.api226_remote_volume_snapshots_patch_with_http_info + _process_references(references, ['names'], kwargs) + return self._call_api(endpoint, kwargs) + + def post_remote_volume_snapshots( + self, + sources=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + source_ids=None, # type: List[str] + source_names=None, # type: List[str] + on=None, # type: str + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.RemoteVolumeSnapshotResponse + """ + Creates a volume snapshot on the specified connected remote target or offload + target. + + Args: + sources (list[FixedReference], optional): + A list of sources to query for. Overrides source_ids and source_names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + source_ids (list[str], optional): + Performs the operation on the source ID specified. Enter multiple source IDs in + comma-separated format. + source_names (list[str], optional): + Performs the operation on the source name specified. Enter multiple source names + in comma-separated format. For example, `name01,name02`. + on (str, optional): + Performs the operation on the target name specified. For example, + `targetName01`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + source_ids=source_ids, + source_names=source_names, + on=on, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._remote_volume_snapshots_api.api226_remote_volume_snapshots_post_with_http_info + _process_references(sources, ['source_ids', 'source_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_remote_volume_snapshots_transfer( + self, + references=None, # type: List[models.ReferenceType] + sources=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + destroyed=None, # type: bool + filter=None, # type: str + ids=None, # type: List[str] + limit=None, # type: int + offset=None, # type: int + on=None, # type: List[str] + sort=None, # type: List[str] + source_ids=None, # type: List[str] + source_names=None, # type: List[str] + total_item_count=None, # type: bool + total_only=None, # type: bool + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.RemoteVolumeSnapshotTransferGetResponse + """ + Returns a list of remote volume snapshots and their transfer statistics. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides ids and names keyword arguments. + sources (list[FixedReference], optional): + A list of sources to query for. Overrides source_ids and source_names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + destroyed (bool, optional): + If set to `true`, lists only destroyed objects that are in the eradication + pending state. If set to `false`, lists only objects that are not destroyed. For + destroyed objects, the time remaining is displayed in milliseconds. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + ids (list[str], optional): + Performs the operation on the unique resource IDs specified. Enter multiple + resource IDs in comma-separated format. The `ids` or `names` parameter is + required, but they cannot be set together. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + on (list[str], optional): + Performs the operation on the target name specified. Enter multiple target names + in comma-separated format. For example, `targetName01,targetName02`. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + source_ids (list[str], optional): + Performs the operation on the source ID specified. Enter multiple source IDs in + comma-separated format. + source_names (list[str], optional): + Performs the operation on the source name specified. Enter multiple source names + in comma-separated format. For example, `name01,name02`. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + total_only (bool, optional): + If set to `true`, returns the aggregate value of all items after filtering. + Where it makes more sense, the average value is displayed instead. The values + are displayed for each name where meaningful. If `total_only=true`, the `items` + list will be empty. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + destroyed=destroyed, + filter=filter, + ids=ids, + limit=limit, + offset=offset, + on=on, + sort=sort, + source_ids=source_ids, + source_names=source_names, + total_item_count=total_item_count, + total_only=total_only, + names=names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._remote_volume_snapshots_api.api226_remote_volume_snapshots_transfer_get_with_http_info + _process_references(references, ['ids', 'names'], kwargs) + _process_references(sources, ['source_ids', 'source_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def delete_sso_saml2_idps( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + ids=None, # type: List[str] + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """ + Deletes SAML2 SSO configurations. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides ids and names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + ids (list[str], optional): + Performs the operation on the unique resource IDs specified. Enter multiple + resource IDs in comma-separated format. The `ids` or `names` parameter is + required, but they cannot be set together. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + ids=ids, + names=names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._saml2_sso_api.api226_sso_saml2_idps_delete_with_http_info + _process_references(references, ['ids', 'names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_sso_saml2_idps( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + filter=None, # type: str + ids=None, # type: List[str] + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.Saml2SsoGetResponse + """ + Displays the SAML2 SSO service provider and identity provider configuration + settings in the array. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides ids and names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + continuation_token (str, optional): + An opaque token to iterate over a collection of resources. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + ids (list[str], optional): + Performs the operation on the unique resource IDs specified. Enter multiple + resource IDs in comma-separated format. The `ids` or `names` parameter is + required, but they cannot be set together. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + continuation_token=continuation_token, + filter=filter, + ids=ids, + limit=limit, + names=names, + offset=offset, + sort=sort, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._saml2_sso_api.api226_sso_saml2_idps_get_with_http_info + _process_references(references, ['ids', 'names'], kwargs) + return self._call_api(endpoint, kwargs) + + def patch_sso_saml2_idps( + self, + references=None, # type: List[models.ReferenceType] + idp=None, # type: models.Saml2SsoPatch + authorization=None, # type: str + x_request_id=None, # type: str + ids=None, # type: List[str] + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.Saml2SsoResponse + """ + Modifies one or more attributes of SAML2 SSO configurations. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides ids and names keyword arguments. + + idp (Saml2SsoPatch, required): + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + ids (list[str], optional): + Performs the operation on the unique resource IDs specified. Enter multiple + resource IDs in comma-separated format. The `ids` or `names` parameter is + required, but they cannot be set together. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + idp=idp, + authorization=authorization, + x_request_id=x_request_id, + ids=ids, + names=names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._saml2_sso_api.api226_sso_saml2_idps_patch_with_http_info + _process_references(references, ['ids', 'names'], kwargs) + return self._call_api(endpoint, kwargs) + + def post_sso_saml2_idps( + self, + references=None, # type: List[models.ReferenceType] + names=None, # type: List[str] + idp=None, # type: models.Saml2SsoPost + authorization=None, # type: str + x_request_id=None, # type: str + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.Saml2SsoResponse + """ + Creates SAML2 SSO configurations. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names keyword arguments. + + names (list[str], required): + Performs the operation on the unique name specified. For example, `name01`. + Enter multiple names in comma-separated format. + idp (Saml2SsoPost, required): + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + names=names, + idp=idp, + authorization=authorization, + x_request_id=x_request_id, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._saml2_sso_api.api226_sso_saml2_idps_post_with_http_info + _process_references(references, ['names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_sso_saml2_idps_test( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + filter=None, # type: str + ids=None, # type: List[str] + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.TestResultWithResourceResponse + """ + Displays the existing SAML2 SSO configurations in the array. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides ids and names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + continuation_token (str, optional): + An opaque token to iterate over a collection of resources. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + ids (list[str], optional): + Performs the operation on the unique resource IDs specified. Enter multiple + resource IDs in comma-separated format. The `ids` or `names` parameter is + required, but they cannot be set together. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + continuation_token=continuation_token, + filter=filter, + ids=ids, + limit=limit, + names=names, + offset=offset, + sort=sort, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._saml2_sso_api.api226_sso_saml2_idps_test_get_with_http_info + _process_references(references, ['ids', 'names'], kwargs) + return self._call_api(endpoint, kwargs) + + def patch_sso_saml2_idps_test( + self, + references=None, # type: List[models.ReferenceType] + idp=None, # type: models.Saml2SsoPost + authorization=None, # type: str + x_request_id=None, # type: str + ids=None, # type: List[str] + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.TestResultWithResourcePatchResponse + """ + Modifies the provided SAML2 SSO configurations. If the configurations with the + specified `ids` or `names` exist, the provided configurations will overwrite the + existing configurations, but will not be persisted in the array. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides ids and names keyword arguments. + + idp (Saml2SsoPost, required): + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + ids (list[str], optional): + Performs the operation on the unique resource IDs specified. Enter multiple + resource IDs in comma-separated format. The `ids` or `names` parameter is + required, but they cannot be set together. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + idp=idp, + authorization=authorization, + x_request_id=x_request_id, + ids=ids, + names=names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._saml2_sso_api.api226_sso_saml2_idps_test_patch_with_http_info + _process_references(references, ['ids', 'names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_sessions( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + filter=None, # type: str + ids=None, # type: List[str] + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.SessionGetResponse + """ + Displays session data for user login events performed in the Purity//FA GUI, + CLI, and REST API. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides ids and names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + continuation_token (str, optional): + An opaque token to iterate over a collection of resources. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + ids (list[str], optional): + Performs the operation on the unique resource IDs specified. Enter multiple + resource IDs in comma-separated format. The `ids` or `names` parameter is + required, but they cannot be set together. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + continuation_token=continuation_token, + filter=filter, + ids=ids, + limit=limit, + names=names, + offset=offset, + sort=sort, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._sessions_api.api226_sessions_get_with_http_info + _process_references(references, ['ids', 'names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_smi_s( + self, + authorization=None, # type: str + x_request_id=None, # type: str + filter=None, # type: str + limit=None, # type: int + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.SmisGetResponse + """ + Displays the SMI-S settings, including the name of the array and whether SLP and + WBEM-HTTPS are enabled. + + Args: + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + filter=filter, + limit=limit, + offset=offset, + sort=sort, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._smi_s_api.api226_smi_s_get_with_http_info + return self._call_api(endpoint, kwargs) + + def patch_smi_s( + self, + smi_s=None, # type: models.Smis + authorization=None, # type: str + x_request_id=None, # type: str + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.SmisResponse + """ + Modifies the Service Location Protocol (SLP) and the SMI-S provider, enabling or + disabling them. + + Args: + + smi_s (Smis, required): + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + smi_s=smi_s, + authorization=authorization, + x_request_id=x_request_id, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._smi_s_api.api226_smi_s_patch_with_http_info + return self._call_api(endpoint, kwargs) + + def get_smtp_servers( + self, + authorization=None, # type: str + x_request_id=None, # type: str + filter=None, # type: str + limit=None, # type: int + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.SmtpServerGetResponse + """ + Displays SMTP server attributes. Values include `user_name`, `password`, + `relay_host`, `sender_domain`, and `name`. + + Args: + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + filter=filter, + limit=limit, + offset=offset, + sort=sort, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._smtp_api.api226_smtp_servers_get_with_http_info + return self._call_api(endpoint, kwargs) + + def patch_smtp_servers( + self, + smtp=None, # type: models.SmtpServer + authorization=None, # type: str + x_request_id=None, # type: str + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.SmtpServerResponse + """ + Modifies SMTP server attributes. Values include `user_name`, `password`, + `relay_host`, `sender_domain`, and `name`. + + Args: + + smtp (SmtpServer, required): + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + smtp=smtp, + authorization=authorization, + x_request_id=x_request_id, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._smtp_api.api226_smtp_servers_patch_with_http_info + return self._call_api(endpoint, kwargs) + + def get_snmp_agents( + self, + authorization=None, # type: str + x_request_id=None, # type: str + filter=None, # type: str + limit=None, # type: int + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.SnmpAgentGetResponse + """ + Displays the SNMP agent name and protocol attributes. + + Args: + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + filter=filter, + limit=limit, + offset=offset, + sort=sort, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._snmp_agents_api.api226_snmp_agents_get_with_http_info + return self._call_api(endpoint, kwargs) + + def get_snmp_agents_mib( + self, + authorization=None, # type: str + x_request_id=None, # type: str + filter=None, # type: str + limit=None, # type: int + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.SnmpAgentMibGetResponse + """ + Displays the SNMP MIB text. + + Args: + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + filter=filter, + limit=limit, + offset=offset, + sort=sort, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._snmp_agents_api.api226_snmp_agents_mib_get_with_http_info + return self._call_api(endpoint, kwargs) + + def patch_snmp_agents( + self, + snmp_agent=None, # type: models.SnmpAgentPatch + authorization=None, # type: str + x_request_id=None, # type: str + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.SnmpAgentResponse + """ + Modifies the name or the protocol attributes of the SNMP agent. + + Args: + + snmp_agent (SnmpAgentPatch, required): + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + snmp_agent=snmp_agent, + authorization=authorization, + x_request_id=x_request_id, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._snmp_agents_api.api226_snmp_agents_patch_with_http_info + return self._call_api(endpoint, kwargs) + + def delete_snmp_managers( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """ + Deletes the SNMP manager object and stops communication with specified managers. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + names=names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._snmp_managers_api.api226_snmp_managers_delete_with_http_info + _process_references(references, ['names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_snmp_managers( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + filter=None, # type: str + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.SnmpManagerGetResponse + """ + Displays designated SNMP managers and their communication and security + attributes. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + continuation_token (str, optional): + An opaque token to iterate over a collection of resources. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + continuation_token=continuation_token, + filter=filter, + limit=limit, + names=names, + offset=offset, + sort=sort, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._snmp_managers_api.api226_snmp_managers_get_with_http_info + _process_references(references, ['names'], kwargs) + return self._call_api(endpoint, kwargs) + + def patch_snmp_managers( + self, + references=None, # type: List[models.ReferenceType] + snmp_manager=None, # type: models.SnmpManagerPatch + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.SnmpManagerResponse + """ + Modifies the name or the protocol attributes of the specified SNMP manager. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names keyword arguments. + + snmp_manager (SnmpManagerPatch, required): + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + snmp_manager=snmp_manager, + authorization=authorization, + x_request_id=x_request_id, + names=names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._snmp_managers_api.api226_snmp_managers_patch_with_http_info + _process_references(references, ['names'], kwargs) + return self._call_api(endpoint, kwargs) + + def post_snmp_managers( + self, + references=None, # type: List[models.ReferenceType] + snmp_manager=None, # type: models.SnmpManagerPost + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.SnmpManagerResponse + """ + Creates a Purity SNMP manager object that identifies a host (SNMP manager) and + specifies the protocol attributes for communicating with it. Once a manager + object is created, the transmission of SNMP traps is immediately enabled. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names keyword arguments. + + snmp_manager (SnmpManagerPost, required): + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + snmp_manager=snmp_manager, + authorization=authorization, + x_request_id=x_request_id, + names=names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._snmp_managers_api.api226_snmp_managers_post_with_http_info + _process_references(references, ['names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_snmp_managers_test( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + filter=None, # type: str + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.TestResultWithResourceGetResponse + """ + Displays SNMP manager test results (traps or informs). + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + filter=filter, + limit=limit, + names=names, + offset=offset, + sort=sort, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._snmp_managers_api.api226_snmp_managers_test_get_with_http_info + _process_references(references, ['names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_software_bundle( + self, + references=None, # type: List[models.ReferenceType] + filter=None, # type: str + ids=None, # type: List[str] + limit=None, # type: int + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.SoftwareBundleGetResponse + """ + Displays a list of software bundles. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides ids keyword arguments. + + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + ids (list[str], optional): + Performs the operation on the unique resource IDs specified. Enter multiple + resource IDs in comma-separated format. The `ids` or `names` parameter is + required, but they cannot be set together. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + filter=filter, + ids=ids, + limit=limit, + offset=offset, + sort=sort, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._software_api.api226_software_bundle_get_with_http_info + _process_references(references, ['ids'], kwargs) + return self._call_api(endpoint, kwargs) + + def post_software_bundle( + self, + source=None, # type: models.SoftwareBundlePost + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.SoftwareBundleResponse + """ + Creates and initiates a software bundle download. + + Args: + + source (SoftwareBundlePost, required): + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + source=source, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._software_api.api226_software_bundle_post_with_http_info + return self._call_api(endpoint, kwargs) + + def delete_software_check( + self, + softwares=None, # type: List[models.ReferenceType] + software_versions=None, # type: List[str] + software_names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """ + Deletes a software check task specified by software name and version. The check + task must be queued. If the check task is running or passed/failed then the task + cannot be deleted. + + Args: + softwares (list[FixedReference], optional): + A list of softwares to query for. Overrides software_names keyword arguments. + + software_versions (list[str], optional): + A list of target software versions. + software_names (list[str], optional): + A list of software names. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + software_versions=software_versions, + software_names=software_names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._software_api.api226_software_check_delete_with_http_info + _process_references(softwares, ['software_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_software_check( + self, + references=None, # type: List[models.ReferenceType] + softwares=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + filter=None, # type: str + ids=None, # type: List[str] + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + software_versions=None, # type: List[str] + software_names=None, # type: List[str] + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.SoftwareChecksGetResponse + """ + Displays a list of software check tasks. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides ids and names keyword arguments. + softwares (list[FixedReference], optional): + A list of softwares to query for. Overrides software_names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + ids (list[str], optional): + Performs the operation on the unique resource IDs specified. Enter multiple + resource IDs in comma-separated format. The `ids` or `names` parameter is + required, but they cannot be set together. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + software_versions (list[str], optional): + A list of target software versions. + software_names (list[str], optional): + A list of software names. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + filter=filter, + ids=ids, + limit=limit, + names=names, + offset=offset, + software_versions=software_versions, + software_names=software_names, + sort=sort, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._software_api.api226_software_check_get_with_http_info + _process_references(references, ['ids', 'names'], kwargs) + _process_references(softwares, ['software_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def post_software_check( + self, + softwares=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + software_versions=None, # type: List[str] + software_names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.SoftwareChecksResponse + """ + Creates a software check task. If there are no previously queued or running + software check tasks, the new task immediately starts. Otherwise, it is queued + and starts once all previously queued or running software check tasks finish. To + create a task, use a software name and version. + + Args: + softwares (list[FixedReference], optional): + A list of softwares to query for. Overrides software_names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + software_versions (list[str], optional): + A list of target software versions. + software_names (list[str], optional): + A list of software names. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + software_versions=software_versions, + software_names=software_names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._software_api.api226_software_check_post_with_http_info + _process_references(softwares, ['software_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def delete_software( + self, + references=None, # type: List[models.ReferenceType] + names=None, # type: List[str] + software_versions=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """ + Deletes a software package specified by software name and version. A software + package being used for an installation can be deleted if the installation is + `downloading`, `downloaded`, `aborted`, or `finished`. If the software package + is currently `downloading`, the download will be cancelled. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names keyword arguments. + + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + software_versions (list[str], optional): + A list of target software versions. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + names=names, + software_versions=software_versions, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._software_api.api226_software_delete_with_http_info + _process_references(references, ['names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_software( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + filter=None, # type: str + ids=None, # type: List[str] + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + versions=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.SoftwareGetResponse + """ + Displays a list of available software packages. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides ids and names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + ids (list[str], optional): + Performs the operation on the unique resource IDs specified. Enter multiple + resource IDs in comma-separated format. The `ids` or `names` parameter is + required, but they cannot be set together. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + versions (list[str], optional): + A list of versions. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + filter=filter, + ids=ids, + limit=limit, + names=names, + offset=offset, + sort=sort, + total_item_count=total_item_count, + versions=versions, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._software_api.api226_software_get_with_http_info + _process_references(references, ['ids', 'names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_software_installation_steps( + self, + references=None, # type: List[models.ReferenceType] + software_installations=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + filter=None, # type: str + ids=None, # type: List[str] + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + software_installation_ids=None, # type: List[str] + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.SoftwareInstallationStepsGetResponse + """ + Displays a list of currently running and completed software upgrade steps. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides ids and names keyword arguments. + software_installations (list[FixedReference], optional): + A list of software_installations to query for. Overrides software_installation_ids keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + continuation_token (str, optional): + An opaque token to iterate over a collection of resources. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + ids (list[str], optional): + Performs the operation on the unique resource IDs specified. Enter multiple + resource IDs in comma-separated format. The `ids` or `names` parameter is + required, but they cannot be set together. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + software_installation_ids (list[str], optional): + A list of software installation IDs. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + continuation_token=continuation_token, + filter=filter, + ids=ids, + limit=limit, + names=names, + offset=offset, + software_installation_ids=software_installation_ids, + sort=sort, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._software_api.api226_software_installation_steps_get_with_http_info + _process_references(references, ['ids', 'names'], kwargs) + _process_references(software_installations, ['software_installation_ids'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_software_installations( + self, + references=None, # type: List[models.ReferenceType] + softwares=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + filter=None, # type: str + ids=None, # type: List[str] + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + software_ids=None, # type: List[str] + software_names=None, # type: List[str] + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.SoftwareInstallationsGetResponse + """ + Displays a list of software upgrades, including currently running and past + upgrades. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides ids and names keyword arguments. + softwares (list[FixedReference], optional): + A list of softwares to query for. Overrides software_ids and software_names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + continuation_token (str, optional): + An opaque token to iterate over a collection of resources. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + ids (list[str], optional): + Performs the operation on the unique resource IDs specified. Enter multiple + resource IDs in comma-separated format. The `ids` or `names` parameter is + required, but they cannot be set together. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + software_ids (list[str], optional): + A list of software IDs. + software_names (list[str], optional): + A list of software names. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + continuation_token=continuation_token, + filter=filter, + ids=ids, + limit=limit, + names=names, + offset=offset, + software_ids=software_ids, + software_names=software_names, + sort=sort, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._software_api.api226_software_installations_get_with_http_info + _process_references(references, ['ids', 'names'], kwargs) + _process_references(softwares, ['software_ids', 'software_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def patch_software_installations( + self, + command=None, # type: str + current_step_id=None, # type: str + authorization=None, # type: str + x_request_id=None, # type: str + software_installations=None, # type: models.SoftwareInstallationPatch + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.SoftwareInstallationsResponse + """ + Modifies a software upgrade by continuing, retrying, or aborting it. All + `override_checks` are updated before the command being issued if + `add_override_checks` is present. The `override_checks` parameter is valid when + `command` is `continue` or `retry`. + + Args: + + command (str, required): + A user command that interacts with the upgrade. Commands may only be issued when + the upgrade is paused. Valid values are `continue`, `retry`, and `abort`. The + `continue` command continues a `paused` upgrade. The `retry` command retries the + previous step. The `abort` command aborts the upgrade. + current_step_id (str, required): + The current step `id` of the installation. + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + command=command, + current_step_id=current_step_id, + authorization=authorization, + x_request_id=x_request_id, + software_installations=software_installations, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._software_api.api226_software_installations_patch_with_http_info + return self._call_api(endpoint, kwargs) + + def post_software_installations( + self, + softwares=None, # type: List[models.ReferenceType] + software_ids=None, # type: List[str] + software_installations=None, # type: models.SoftwareInstallationPost + authorization=None, # type: str + x_request_id=None, # type: str + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.SoftwareInstallationsResponse + """ + Creates and initiates a software upgrade. + + Args: + softwares (list[FixedReference], optional): + A list of softwares to query for. Overrides software_ids keyword arguments. + + software_ids (list[str], required): + A list of software IDs. + software_installations (SoftwareInstallationPost, required): + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + software_ids=software_ids, + software_installations=software_installations, + authorization=authorization, + x_request_id=x_request_id, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._software_api.api226_software_installations_post_with_http_info + _process_references(softwares, ['software_ids'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_software_patches_catalog( + self, + authorization=None, # type: str + x_request_id=None, # type: str + filter=None, # type: str + limit=None, # type: int + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.SoftwarePatchesGetResponse + """ + Displays a list of available software patches. + + Args: + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + filter=filter, + limit=limit, + offset=offset, + sort=sort, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._software_api.api226_software_patches_catalog_get_with_http_info + return self._call_api(endpoint, kwargs) + + def get_software_patches( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + filter=None, # type: str + ids=None, # type: List[str] + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.SoftwarePatchesGetResponse + """ + Displays a list of software patches. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides ids and names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + ids (list[str], optional): + Performs the operation on the unique resource IDs specified. Enter multiple + resource IDs in comma-separated format. The `ids` or `names` parameter is + required, but they cannot be set together. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + filter=filter, + ids=ids, + limit=limit, + names=names, + offset=offset, + sort=sort, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._software_api.api226_software_patches_get_with_http_info + _process_references(references, ['ids', 'names'], kwargs) + return self._call_api(endpoint, kwargs) + + def post_software_patches( + self, + name=None, # type: str + authorization=None, # type: str + x_request_id=None, # type: str + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.SoftwarePatchesResponse + """ + Creates software patch download and installation. + + Args: + + name (str, required): + Name of software patch to install + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + name=name, + authorization=authorization, + x_request_id=x_request_id, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._software_api.api226_software_patches_post_with_http_info + return self._call_api(endpoint, kwargs) + + def post_software( + self, + software=None, # type: models.SoftwarePost + authorization=None, # type: str + x_request_id=None, # type: str + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.SoftwareResponse + """ + Creates a software package download. + + Args: + + software (SoftwarePost, required): + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + software=software, + authorization=authorization, + x_request_id=x_request_id, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._software_api.api226_software_post_with_http_info + return self._call_api(endpoint, kwargs) + + def get_software_versions( + self, + authorization=None, # type: str + x_request_id=None, # type: str + filter=None, # type: str + limit=None, # type: int + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.SoftwareVersionsGetResponse + """ + Displays a list of software versions. + + Args: + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + filter=filter, + limit=limit, + offset=offset, + sort=sort, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._software_api.api226_software_versions_get_with_http_info + return self._call_api(endpoint, kwargs) + + def delete_subnets( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """ + Deletes subnets. A subnet can only be deleted if it has no interfaces. + Interfaces must be removed by using the `network-interfaces` endpoint. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + names=names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._subnets_api.api226_subnets_delete_with_http_info + _process_references(references, ['names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_subnets( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + filter=None, # type: str + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.SubnetGetResponse + """ + Displays a list of subnets with statuses and attributes. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + continuation_token (str, optional): + An opaque token to iterate over a collection of resources. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + continuation_token=continuation_token, + filter=filter, + limit=limit, + names=names, + offset=offset, + sort=sort, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._subnets_api.api226_subnets_get_with_http_info + _process_references(references, ['names'], kwargs) + return self._call_api(endpoint, kwargs) + + def patch_subnets( + self, + references=None, # type: List[models.ReferenceType] + subnet=None, # type: models.SubnetPatch + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.SubnetResponse + """ + Modifies one or more specified subnet properties. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names keyword arguments. + + subnet (SubnetPatch, required): + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + subnet=subnet, + authorization=authorization, + x_request_id=x_request_id, + names=names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._subnets_api.api226_subnets_patch_with_http_info + _process_references(references, ['names'], kwargs) + return self._call_api(endpoint, kwargs) + + def post_subnets( + self, + references=None, # type: List[models.ReferenceType] + names=None, # type: List[str] + subnet=None, # type: models.SubnetPost + authorization=None, # type: str + x_request_id=None, # type: str + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.SubnetResponse + """ + Creates a subnet with the specified parameters. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names keyword arguments. + + names (list[str], required): + Performs the operation on the unique name specified. For example, `name01`. + Enter multiple names in comma-separated format. + subnet (SubnetPost, required): + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + names=names, + subnet=subnet, + authorization=authorization, + x_request_id=x_request_id, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._subnets_api.api226_subnets_post_with_http_info + _process_references(references, ['names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_subscription_assets( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + filter=None, # type: str + limit=None, # type: int + offset=None, # type: int + sort=None, # type: List[str] + names=None, # type: List[str] + ids=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.SubscriptionAssetGetResponse + """ + Displays information about subscription assets. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names and ids keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + continuation_token (str, optional): + An opaque token to iterate over a collection of resources. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + ids (list[str], optional): + Performs the operation on the unique resource IDs specified. Enter multiple + resource IDs in comma-separated format. The `ids` or `names` parameter is + required, but they cannot be set together. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + continuation_token=continuation_token, + filter=filter, + limit=limit, + offset=offset, + sort=sort, + names=names, + ids=ids, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._subscription_assets_api.api226_subscription_assets_get_with_http_info + _process_references(references, ['names', 'ids'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_subscriptions( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + filter=None, # type: str + limit=None, # type: int + offset=None, # type: int + sort=None, # type: List[str] + ids=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.SubscriptionGetResponse + """ + Displays information about subscriptions. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides ids keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + continuation_token (str, optional): + An opaque token to iterate over a collection of resources. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + ids (list[str], optional): + Performs the operation on the unique resource IDs specified. Enter multiple + resource IDs in comma-separated format. The `ids` or `names` parameter is + required, but they cannot be set together. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + continuation_token=continuation_token, + filter=filter, + limit=limit, + offset=offset, + sort=sort, + ids=ids, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._subscriptions_api.api226_subscriptions_get_with_http_info + _process_references(references, ['ids'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_support( + self, + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + filter=None, # type: str + limit=None, # type: int + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.SupportGetResponse + """ + Displays connection paths between the current array and each connected array. + + Args: + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + continuation_token (str, optional): + An opaque token to iterate over a collection of resources. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + continuation_token=continuation_token, + filter=filter, + limit=limit, + offset=offset, + sort=sort, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._support_api.api226_support_get_with_http_info + return self._call_api(endpoint, kwargs) + + def patch_support( + self, + support=None, # type: models.SupportPatch + authorization=None, # type: str + x_request_id=None, # type: str + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.SupportResponse + """ + Creates a connection path from the array to another array. + + Args: + + support (SupportPatch, required): + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + support=support, + authorization=authorization, + x_request_id=x_request_id, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._support_api.api226_support_patch_with_http_info + return self._call_api(endpoint, kwargs) + + def get_support_test( + self, + authorization=None, # type: str + x_request_id=None, # type: str + filter=None, # type: str + limit=None, # type: int + offset=None, # type: int + sort=None, # type: List[str] + test_type=None, # type: str + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.TestResultGetResponse + """ + Displays information about whether the array can connect to Pure Storage Support + by establishing a secure shell or secure HTTP connection and verifies that + messages can be exchanged. + + Args: + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + test_type (str, optional): + Specifies the type of test. Valid values are `all`, `phonehome`, and `remote- + assist`. If not specified, defaults to `all`. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + filter=filter, + limit=limit, + offset=offset, + sort=sort, + test_type=test_type, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._support_api.api226_support_test_get_with_http_info + return self._call_api(endpoint, kwargs) + + def delete_syslog_servers( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """ + Deletes a configured syslog server and stop forwarding syslog messages. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + names=names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._syslog_api.api226_syslog_servers_delete_with_http_info + _process_references(references, ['names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_syslog_servers( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + filter=None, # type: str + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.SyslogServerGetResponse + """ + Displays a list of configured syslog servers. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + continuation_token (str, optional): + An opaque token to iterate over a collection of resources. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + continuation_token=continuation_token, + filter=filter, + limit=limit, + names=names, + offset=offset, + sort=sort, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._syslog_api.api226_syslog_servers_get_with_http_info + _process_references(references, ['names'], kwargs) + return self._call_api(endpoint, kwargs) + + def patch_syslog_servers( + self, + references=None, # type: List[models.ReferenceType] + syslog_server=None, # type: models.SyslogServer + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.SyslogServerResponse + """ + Modifies the URI of a configured syslog server. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names keyword arguments. + + syslog_server (SyslogServer, required): + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + syslog_server=syslog_server, + authorization=authorization, + x_request_id=x_request_id, + names=names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._syslog_api.api226_syslog_servers_patch_with_http_info + _process_references(references, ['names'], kwargs) + return self._call_api(endpoint, kwargs) + + def post_syslog_servers( + self, + references=None, # type: List[models.ReferenceType] + syslog_server=None, # type: models.SyslogServer + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.SyslogServerResponse + """ + Creates a new syslog server. Transmission of syslog messages is enabled + immediately. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names keyword arguments. + + syslog_server (SyslogServer, required): + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + syslog_server=syslog_server, + authorization=authorization, + x_request_id=x_request_id, + names=names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._syslog_api.api226_syslog_servers_post_with_http_info + _process_references(references, ['names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_syslog_servers_settings( + self, + authorization=None, # type: str + x_request_id=None, # type: str + filter=None, # type: str + limit=None, # type: int + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.SyslogServerSettingsGetResponse + """ + Displays syslog settings. Values include `continuation_token`, `items`, + `more_items_remaining`, and `total_item_count`. + + Args: + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + filter=filter, + limit=limit, + offset=offset, + sort=sort, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._syslog_api.api226_syslog_servers_settings_get_with_http_info + return self._call_api(endpoint, kwargs) + + def patch_syslog_servers_settings( + self, + syslog_server_settings=None, # type: models.SyslogServerSettings + authorization=None, # type: str + x_request_id=None, # type: str + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.SyslogServerSettingsResponse + """ + Modifies syslog settings. Values include `continuation_token`, `items`, + `more_items_remaining`, and `total_item_count`. + + Args: + + syslog_server_settings (SyslogServerSettings, required): + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + syslog_server_settings=syslog_server_settings, + authorization=authorization, + x_request_id=x_request_id, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._syslog_api.api226_syslog_servers_settings_patch_with_http_info + return self._call_api(endpoint, kwargs) + + def get_syslog_servers_test( + self, + authorization=None, # type: str + x_request_id=None, # type: str + filter=None, # type: str + limit=None, # type: int + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.TestResultWithResourceGetResponse + """ + Displays syslog server test results, which indicate whether the syslog is + working and configured correctly. + + Args: + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + filter=filter, + limit=limit, + offset=offset, + sort=sort, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._syslog_api.api226_syslog_servers_test_get_with_http_info + return self._call_api(endpoint, kwargs) + + def delete_vchosts_certificates( + self, + references=None, # type: List[models.ReferenceType] + vchosts=None, # type: List[models.ReferenceType] + certificates=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + ids=None, # type: List[str] + vchost_names=None, # type: List[str] + vchost_ids=None, # type: List[str] + certificate_names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """ + Deletes an existing vchost certificate. The `ids` query parameter alone, or the + `certificate_names` query parameter together with one of `vchost_names` or + `vchost_ids`, is required. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides ids keyword arguments. + vchosts (list[FixedReference], optional): + A list of vchosts to query for. Overrides vchost_names and vchost_ids keyword arguments. + certificates (list[FixedReference], optional): + A list of certificates to query for. Overrides certificate_names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + ids (list[str], optional): + Performs the operation on the unique resource IDs specified. Enter multiple + resource IDs in comma-separated format. The `ids` or `names` parameter is + required, but they cannot be set together. + vchost_names (list[str], optional): + Performs the operation on the unique vchost name specified. Enter multiple names + in a comma-separated format. For example, `vchost01,vchost02`. + vchost_ids (list[str], optional): + Performs the operation on the unique vchost IDs specified. Enter multiple vchost + IDs in a comma-separated format. + certificate_names (list[str], optional): + The names of one or more certificates. Enter multiple names in comma-separated + format. For example, `cert01,cert02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + ids=ids, + vchost_names=vchost_names, + vchost_ids=vchost_ids, + certificate_names=certificate_names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._vchosts_api.api226_vchosts_certificates_delete_with_http_info + _process_references(references, ['ids'], kwargs) + _process_references(vchosts, ['vchost_names', 'vchost_ids'], kwargs) + _process_references(certificates, ['certificate_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_vchosts_certificates( + self, + references=None, # type: List[models.ReferenceType] + vchosts=None, # type: List[models.ReferenceType] + certificates=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + filter=None, # type: str + limit=None, # type: int + offset=None, # type: int + sort=None, # type: List[str] + ids=None, # type: List[str] + vchost_names=None, # type: List[str] + vchost_ids=None, # type: List[str] + certificate_names=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.VchostCertificateGetResponse + """ + Displays certificates that are attached to configured vchosts on at least one + endpoint. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides ids keyword arguments. + vchosts (list[FixedReference], optional): + A list of vchosts to query for. Overrides vchost_names and vchost_ids keyword arguments. + certificates (list[FixedReference], optional): + A list of certificates to query for. Overrides certificate_names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + continuation_token (str, optional): + An opaque token to iterate over a collection of resources. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + ids (list[str], optional): + Performs the operation on the unique resource IDs specified. Enter multiple + resource IDs in comma-separated format. The `ids` or `names` parameter is + required, but they cannot be set together. + vchost_names (list[str], optional): + Performs the operation on the unique vchost name specified. Enter multiple names + in a comma-separated format. For example, `vchost01,vchost02`. + vchost_ids (list[str], optional): + Performs the operation on the unique vchost IDs specified. Enter multiple vchost + IDs in a comma-separated format. + certificate_names (list[str], optional): + The names of one or more certificates. Enter multiple names in comma-separated + format. For example, `cert01,cert02`. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + continuation_token=continuation_token, + filter=filter, + limit=limit, + offset=offset, + sort=sort, + ids=ids, + vchost_names=vchost_names, + vchost_ids=vchost_ids, + certificate_names=certificate_names, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._vchosts_api.api226_vchosts_certificates_get_with_http_info + _process_references(references, ['ids'], kwargs) + _process_references(vchosts, ['vchost_names', 'vchost_ids'], kwargs) + _process_references(certificates, ['certificate_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def patch_vchosts_certificates( + self, + references=None, # type: List[models.ReferenceType] + vchosts=None, # type: List[models.ReferenceType] + certificates=None, # type: List[models.ReferenceType] + certificate=None, # type: models.VchostCertificatePatch + authorization=None, # type: str + x_request_id=None, # type: str + ids=None, # type: List[str] + vchost_names=None, # type: List[str] + vchost_ids=None, # type: List[str] + certificate_names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.VchostCertificateResponse + """ + Modifies an existing vchost certificate. The `ids` query parameter alone, or the + `certificate_names` query parameter together with one of `vchost_names` or + `vchost_ids`, is required. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides ids keyword arguments. + vchosts (list[FixedReference], optional): + A list of vchosts to query for. Overrides vchost_names and vchost_ids keyword arguments. + certificates (list[FixedReference], optional): + A list of certificates to query for. Overrides certificate_names keyword arguments. + + certificate (VchostCertificatePatch, required): + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + ids (list[str], optional): + Performs the operation on the unique resource IDs specified. Enter multiple + resource IDs in comma-separated format. The `ids` or `names` parameter is + required, but they cannot be set together. + vchost_names (list[str], optional): + Performs the operation on the unique vchost name specified. Enter multiple names + in a comma-separated format. For example, `vchost01,vchost02`. + vchost_ids (list[str], optional): + Performs the operation on the unique vchost IDs specified. Enter multiple vchost + IDs in a comma-separated format. + certificate_names (list[str], optional): + The names of one or more certificates. Enter multiple names in comma-separated + format. For example, `cert01,cert02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + certificate=certificate, + authorization=authorization, + x_request_id=x_request_id, + ids=ids, + vchost_names=vchost_names, + vchost_ids=vchost_ids, + certificate_names=certificate_names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._vchosts_api.api226_vchosts_certificates_patch_with_http_info + _process_references(references, ['ids'], kwargs) + _process_references(vchosts, ['vchost_names', 'vchost_ids'], kwargs) + _process_references(certificates, ['certificate_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def post_vchosts_certificates( + self, + vchosts=None, # type: List[models.ReferenceType] + certificate=None, # type: models.VchostCertificatePost + authorization=None, # type: str + x_request_id=None, # type: str + vchost_names=None, # type: List[str] + vchost_ids=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.VchostCertificateResponse + """ + Creates an association between a certificate and vchost on one or more + endpoints. The `vchost_names` or `vchost_ids` query parameter is required. + + Args: + vchosts (list[FixedReference], optional): + A list of vchosts to query for. Overrides vchost_names and vchost_ids keyword arguments. + + certificate (VchostCertificatePost, required): + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + vchost_names (list[str], optional): + Performs the operation on the unique vchost name specified. Enter multiple names + in a comma-separated format. For example, `vchost01,vchost02`. + vchost_ids (list[str], optional): + Performs the operation on the unique vchost IDs specified. Enter multiple vchost + IDs in a comma-separated format. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + certificate=certificate, + authorization=authorization, + x_request_id=x_request_id, + vchost_names=vchost_names, + vchost_ids=vchost_ids, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._vchosts_api.api226_vchosts_certificates_post_with_http_info + _process_references(vchosts, ['vchost_names', 'vchost_ids'], kwargs) + return self._call_api(endpoint, kwargs) + + def delete_vchosts( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + ids=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """ + Deletes an existing vchost. The `names` or `ids` query parameter is required. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names and ids keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + ids (list[str], optional): + Performs the operation on the unique resource IDs specified. Enter multiple + resource IDs in comma-separated format. The `ids` or `names` parameter is + required, but they cannot be set together. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + names=names, + ids=ids, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._vchosts_api.api226_vchosts_delete_with_http_info + _process_references(references, ['names', 'ids'], kwargs) + return self._call_api(endpoint, kwargs) + + def delete_vchosts_endpoints( + self, + references=None, # type: List[models.ReferenceType] + vchosts=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + ids=None, # type: List[str] + vchost_names=None, # type: List[str] + vchost_ids=None, # type: List[str] + endpoints=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """ + Deletes an existing vchost endpoint The `ids` query parameter alone, or the + `endpoints` query parameter together with one of `vchost_names` or `vchost_ids`, + is required. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides ids keyword arguments. + vchosts (list[FixedReference], optional): + A list of vchosts to query for. Overrides vchost_names and vchost_ids keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + ids (list[str], optional): + Performs the operation on the unique resource IDs specified. Enter multiple + resource IDs in comma-separated format. The `ids` or `names` parameter is + required, but they cannot be set together. + vchost_names (list[str], optional): + Performs the operation on the unique vchost name specified. Enter multiple names + in a comma-separated format. For example, `vchost01,vchost02`. + vchost_ids (list[str], optional): + Performs the operation on the unique vchost IDs specified. Enter multiple vchost + IDs in a comma-separated format. + endpoints (list[str], optional): + Performs the operation on the unique endpoints specified. Enter multiple + endpoints in a comma-separated format. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + ids=ids, + vchost_names=vchost_names, + vchost_ids=vchost_ids, + endpoints=endpoints, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._vchosts_api.api226_vchosts_endpoints_delete_with_http_info + _process_references(references, ['ids'], kwargs) + _process_references(vchosts, ['vchost_names', 'vchost_ids'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_vchosts_endpoints( + self, + references=None, # type: List[models.ReferenceType] + vchosts=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + filter=None, # type: str + limit=None, # type: int + offset=None, # type: int + sort=None, # type: List[str] + ids=None, # type: List[str] + vchost_names=None, # type: List[str] + vchost_ids=None, # type: List[str] + endpoints=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.VchostEndpointGetResponse + """ + Displays a list of vchost endpoints with their associated vchosts and + certificates. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides ids keyword arguments. + vchosts (list[FixedReference], optional): + A list of vchosts to query for. Overrides vchost_names and vchost_ids keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + continuation_token (str, optional): + An opaque token to iterate over a collection of resources. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + ids (list[str], optional): + Performs the operation on the unique resource IDs specified. Enter multiple + resource IDs in comma-separated format. The `ids` or `names` parameter is + required, but they cannot be set together. + vchost_names (list[str], optional): + Performs the operation on the unique vchost name specified. Enter multiple names + in a comma-separated format. For example, `vchost01,vchost02`. + vchost_ids (list[str], optional): + Performs the operation on the unique vchost IDs specified. Enter multiple vchost + IDs in a comma-separated format. + endpoints (list[str], optional): + Performs the operation on the unique endpoints specified. Enter multiple + endpoints in a comma-separated format. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + continuation_token=continuation_token, + filter=filter, + limit=limit, + offset=offset, + sort=sort, + ids=ids, + vchost_names=vchost_names, + vchost_ids=vchost_ids, + endpoints=endpoints, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._vchosts_api.api226_vchosts_endpoints_get_with_http_info + _process_references(references, ['ids'], kwargs) + _process_references(vchosts, ['vchost_names', 'vchost_ids'], kwargs) + return self._call_api(endpoint, kwargs) + + def patch_vchosts_endpoints( + self, + references=None, # type: List[models.ReferenceType] + vchosts=None, # type: List[models.ReferenceType] + endpoint=None, # type: models.VchostEndpointPatch + authorization=None, # type: str + x_request_id=None, # type: str + ids=None, # type: List[str] + vchost_names=None, # type: List[str] + vchost_ids=None, # type: List[str] + endpoints=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.VchostEndpointResponse + """ + Modifies an existing vchost endpoint. The `ids` query parameter alone, or the + `endpoints` query parameter together with one of `vchost_names` or `vchost_ids`, + is required. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides ids keyword arguments. + vchosts (list[FixedReference], optional): + A list of vchosts to query for. Overrides vchost_names and vchost_ids keyword arguments. + + endpoint (VchostEndpointPatch, required): + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + ids (list[str], optional): + Performs the operation on the unique resource IDs specified. Enter multiple + resource IDs in comma-separated format. The `ids` or `names` parameter is + required, but they cannot be set together. + vchost_names (list[str], optional): + Performs the operation on the unique vchost name specified. Enter multiple names + in a comma-separated format. For example, `vchost01,vchost02`. + vchost_ids (list[str], optional): + Performs the operation on the unique vchost IDs specified. Enter multiple vchost + IDs in a comma-separated format. + endpoints (list[str], optional): + Performs the operation on the unique endpoints specified. Enter multiple + endpoints in a comma-separated format. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + endpoint=endpoint, + authorization=authorization, + x_request_id=x_request_id, + ids=ids, + vchost_names=vchost_names, + vchost_ids=vchost_ids, + endpoints=endpoints, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._vchosts_api.api226_vchosts_endpoints_patch_with_http_info + _process_references(references, ['ids'], kwargs) + _process_references(vchosts, ['vchost_names', 'vchost_ids'], kwargs) + return self._call_api(endpoint, kwargs) + + def post_vchosts_endpoints( + self, + vchosts=None, # type: List[models.ReferenceType] + endpoint=None, # type: models.VchostEndpointPost + authorization=None, # type: str + x_request_id=None, # type: str + vchost_names=None, # type: List[str] + vchost_ids=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.VchostEndpointResponse + """ + Creates a vchost endpoint. Either the `vchost_names` or `vchost_ids` query + parameter is required. + + Args: + vchosts (list[FixedReference], optional): + A list of vchosts to query for. Overrides vchost_names and vchost_ids keyword arguments. + + endpoint (VchostEndpointPost, required): + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + vchost_names (list[str], optional): + Performs the operation on the unique vchost name specified. Enter multiple names + in a comma-separated format. For example, `vchost01,vchost02`. + vchost_ids (list[str], optional): + Performs the operation on the unique vchost IDs specified. Enter multiple vchost + IDs in a comma-separated format. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + endpoint=endpoint, + authorization=authorization, + x_request_id=x_request_id, + vchost_names=vchost_names, + vchost_ids=vchost_ids, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._vchosts_api.api226_vchosts_endpoints_post_with_http_info + _process_references(vchosts, ['vchost_names', 'vchost_ids'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_vchosts( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + filter=None, # type: str + limit=None, # type: int + offset=None, # type: int + sort=None, # type: List[str] + names=None, # type: List[str] + ids=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.VchostGetResponse + """ + Displays a list of vchosts. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names and ids keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + continuation_token (str, optional): + An opaque token to iterate over a collection of resources. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + ids (list[str], optional): + Performs the operation on the unique resource IDs specified. Enter multiple + resource IDs in comma-separated format. The `ids` or `names` parameter is + required, but they cannot be set together. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + continuation_token=continuation_token, + filter=filter, + limit=limit, + offset=offset, + sort=sort, + names=names, + ids=ids, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._vchosts_api.api226_vchosts_get_with_http_info + _process_references(references, ['names', 'ids'], kwargs) + return self._call_api(endpoint, kwargs) + + def patch_vchosts( + self, + references=None, # type: List[models.ReferenceType] + vchost=None, # type: models.VchostPatch + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + ids=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.VchostResponse + """ + Modifies an existing vchost. The `names` or `ids` query parameter is required. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names and ids keyword arguments. + + vchost (VchostPatch, required): + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + ids (list[str], optional): + Performs the operation on the unique resource IDs specified. Enter multiple + resource IDs in comma-separated format. The `ids` or `names` parameter is + required, but they cannot be set together. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + vchost=vchost, + authorization=authorization, + x_request_id=x_request_id, + names=names, + ids=ids, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._vchosts_api.api226_vchosts_patch_with_http_info + _process_references(references, ['names', 'ids'], kwargs) + return self._call_api(endpoint, kwargs) + + def post_vchosts( + self, + references=None, # type: List[models.ReferenceType] + vchost=None, # type: models.VchostPost + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.VchostResponse + """ + Creates a vchost. The `names` query parameter is required. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names keyword arguments. + + vchost (VchostPost, required): + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + vchost=vchost, + authorization=authorization, + x_request_id=x_request_id, + names=names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._vchosts_api.api226_vchosts_post_with_http_info + _process_references(references, ['names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_virtual_machine_snapshots( + self, + vms=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + destroyed=None, # type: bool + filter=None, # type: str + limit=None, # type: int + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + vm_type=None, # type: str + vm_ids=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.VirtualMachineGetResponse + """ + Displays a list of virtual machine snapshots, including those pending + eradication. If `vm_type` is `vvol`, the `recovery_context` in the response will + represent a protection group snapshot containing the virtual machine. This must + be used as the `source` in the `POST /virtual-machine` method when recovering or + overwriting a virtual machine from a snapshot. + + Args: + vms (list[FixedReference], optional): + A list of vms to query for. Overrides vm_ids keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + continuation_token (str, optional): + An opaque token to iterate over a collection of resources. + destroyed (bool, optional): + If set to `true`, lists only destroyed objects that are in the eradication + pending state. If set to `false`, lists only objects that are not destroyed. For + destroyed objects, the time remaining is displayed in milliseconds. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + vm_type (str, optional): + The type of virtual machine. The only valid value is `vvol`. + vm_ids (list[str], optional): + Performs the operation on the unique virtual machine IDs specified. Enter + multiple resource IDs in a comma-separated format. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + continuation_token=continuation_token, + destroyed=destroyed, + filter=filter, + limit=limit, + offset=offset, + sort=sort, + total_item_count=total_item_count, + vm_type=vm_type, + vm_ids=vm_ids, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._virtual_machines_api.api226_virtual_machine_snapshots_get_with_http_info + _process_references(vms, ['vm_ids'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_virtual_machines( + self, + vms=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + destroyed=None, # type: bool + filter=None, # type: str + limit=None, # type: int + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + vm_type=None, # type: str + vm_ids=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.VirtualMachineGetResponse + """ + Displays a list of virtual machines, including those pending eradication. If + `vm_type` is `vvol`, the `recovery_context` in the response will represent the + most recent snapshot of the config vVol. This must be used as the `source` in + the `PATCH` method when recovering a virtual machine from the destroyed state. + + Args: + vms (list[FixedReference], optional): + A list of vms to query for. Overrides vm_ids keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + continuation_token (str, optional): + An opaque token to iterate over a collection of resources. + destroyed (bool, optional): + If set to `true`, lists only destroyed objects that are in the eradication + pending state. If set to `false`, lists only objects that are not destroyed. For + destroyed objects, the time remaining is displayed in milliseconds. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + vm_type (str, optional): + The type of virtual machine. The only valid value is `vvol`. + vm_ids (list[str], optional): + Performs the operation on the unique virtual machine IDs specified. Enter + multiple virtual machine IDs in a comma-separated format. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + continuation_token=continuation_token, + destroyed=destroyed, + filter=filter, + limit=limit, + offset=offset, + sort=sort, + total_item_count=total_item_count, + vm_type=vm_type, + vm_ids=vm_ids, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._virtual_machines_api.api226_virtual_machines_get_with_http_info + _process_references(vms, ['vm_ids'], kwargs) + return self._call_api(endpoint, kwargs) + + def patch_virtual_machines( + self, + virtual_machine=None, # type: models.VirtualMachinePost + authorization=None, # type: str + x_request_id=None, # type: str + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.VirtualMachineResponse + """ + Updates a virtual machine, recovering it from the destroyed state. If the + virtual machine is of type `vvol`, the `source` property of the request body + must be a `recovery_context` value retrieved from the `GET /virtual-machines` + endpoint. If recovering the virtual machine will cause a conflict with an + existing virtual machine, the operation will fail. + + Args: + + virtual_machine (VirtualMachinePost, required): + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + virtual_machine=virtual_machine, + authorization=authorization, + x_request_id=x_request_id, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._virtual_machines_api.api226_virtual_machines_patch_with_http_info + return self._call_api(endpoint, kwargs) + + def post_virtual_machines( + self, + virtual_machine=None, # type: models.VirtualMachinePost + authorization=None, # type: str + x_request_id=None, # type: str + overwrite=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.VirtualMachineResponse + """ + Creates one or more virtual machines from a protection group snapshot. If the + virtual machine is of type `vvol`, the `source` property of the request body + must be a `recovery_context` value retrieved from the `GET /virtual-machine- + snapshots` endpoint. If `overwrite` is specified, an existing virtual machine + will have its volumes overwritten by the snapshot. Otherwise, a new virtual + machine will be created from the snapshot. If creating the new virtual machine + will cause a conflict with an existing virtual machine, the operation will fail. + + Args: + + virtual_machine (VirtualMachinePost, required): + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + overwrite (bool, optional): + If set to `true`, overwrites an existing object during an object copy operation. + If set to `false` or not set at all and the target name is an existing object, + the copy operation fails. Required if the `source` body parameter is set and the + source overwrites an existing object during the copy operation. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + virtual_machine=virtual_machine, + authorization=authorization, + x_request_id=x_request_id, + overwrite=overwrite, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._virtual_machines_api.api226_virtual_machines_post_with_http_info + return self._call_api(endpoint, kwargs) + + def delete_volume_groups( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + ids=None, # type: List[str] + names=None, # type: List[str] + eradicate_contents=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """ + Deletes a volume group that has been destroyed and is pending eradication. + Eradicated volume groups cannot be recovered. Volume groups are destroyed + through the PATCH method. The `ids` or `names` parameter is required, but they + cannot be set together. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides ids and names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + ids (list[str], optional): + Performs the operation on the unique resource IDs specified. Enter multiple + resource IDs in comma-separated format. The `ids` or `names` parameter is + required, but they cannot be set together. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + eradicate_contents (bool, optional): + Set to `true` to eradicate contents (e.g., volumes, protection groups, + snapshots) and containers (e.g., pods, volume groups). This enables you to + eradicate containers with contents. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + ids=ids, + names=names, + eradicate_contents=eradicate_contents, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._volume_groups_api.api226_volume_groups_delete_with_http_info + _process_references(references, ['ids', 'names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_volume_groups( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + destroyed=None, # type: bool + filter=None, # type: str + ids=None, # type: List[str] + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + total_only=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.VolumeGroupGetResponse + """ + Displays a list of volume groups, including those pending eradication. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides ids and names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + continuation_token (str, optional): + An opaque token to iterate over a collection of resources. + destroyed (bool, optional): + If set to `true`, lists only destroyed objects that are in the eradication + pending state. If set to `false`, lists only objects that are not destroyed. For + destroyed objects, the time remaining is displayed in milliseconds. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + ids (list[str], optional): + Performs the operation on the unique resource IDs specified. Enter multiple + resource IDs in comma-separated format. The `ids` or `names` parameter is + required, but they cannot be set together. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + total_only (bool, optional): + If set to `true`, returns the aggregate value of all items after filtering. + Where it makes more sense, the average value is displayed instead. The values + are displayed for each name where meaningful. If `total_only=true`, the `items` + list will be empty. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + continuation_token=continuation_token, + destroyed=destroyed, + filter=filter, + ids=ids, + limit=limit, + names=names, + offset=offset, + sort=sort, + total_item_count=total_item_count, + total_only=total_only, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._volume_groups_api.api226_volume_groups_get_with_http_info + _process_references(references, ['ids', 'names'], kwargs) + return self._call_api(endpoint, kwargs) + + def patch_volume_groups( + self, + references=None, # type: List[models.ReferenceType] + volume_group=None, # type: models.VolumeGroupPatch + authorization=None, # type: str + x_request_id=None, # type: str + ids=None, # type: List[str] + names=None, # type: List[str] + destroy_contents=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.VolumeGroupResponse + """ + Modifies a volume group. You can rename, destroy, recover, or set QoS limits for + a volume group. To rename a volume group, set `name` to the new name. To destroy + a volume group, set `destroyed=true`. To recover a volume group that has been + destroyed and is pending eradication, set `destroyed=false`. Sets the bandwidth + and IOPs limits of a volume group through the respective `bandwidth_limit` and + `iops_limit` parameter. The `ids` or `names` parameter is required, but they + cannot be set together. Sets the priority adjustment for a volume group using + the `priority_adjustment_operator` and `priority_adjustment_value` fields. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides ids and names keyword arguments. + + volume_group (VolumeGroupPatch, required): + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + ids (list[str], optional): + Performs the operation on the unique resource IDs specified. Enter multiple + resource IDs in comma-separated format. The `ids` or `names` parameter is + required, but they cannot be set together. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + destroy_contents (bool, optional): + Set to `true` to destroy contents (e.g., volumes, protection groups, snapshots) + and containers (e.g., pods, volume groups). This enables you to destroy + containers with contents. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + volume_group=volume_group, + authorization=authorization, + x_request_id=x_request_id, + ids=ids, + names=names, + destroy_contents=destroy_contents, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._volume_groups_api.api226_volume_groups_patch_with_http_info + _process_references(references, ['ids', 'names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_volume_groups_performance( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + destroyed=None, # type: bool + filter=None, # type: str + end_time=None, # type: int + resolution=None, # type: int + start_time=None, # type: int + ids=None, # type: List[str] + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + total_only=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.ResourcePerformanceGetResponse + """ + Returns real-time and historical performance data, real-time latency data, and + average I/O sizes for each volume group and and as a total of all volume groups + across the entire array. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides ids and names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + destroyed (bool, optional): + If set to `true`, lists only destroyed objects that are in the eradication + pending state. If set to `false`, lists only objects that are not destroyed. For + destroyed objects, the time remaining is displayed in milliseconds. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + end_time (int, optional): + Displays historical performance data for the specified time window, where + `start_time` is the beginning of the time window, and `end_time` is the end of + the time window. The `start_time` and `end_time` parameters are specified in + milliseconds since the UNIX epoch. If `start_time` is not specified, the start + time will default to one resolution before the end time, meaning that the most + recent sample of performance data will be displayed. If `end_time`is not + specified, the end time will default to the current time. Include the + `resolution` parameter to display the performance data at the specified + resolution. If not specified, `resolution` defaults to the lowest valid + resolution. + resolution (int, optional): + The number of milliseconds between samples of historical data. For array-wide + performance metrics (`/arrays/performance` endpoint), valid values are `1000` (1 + second), `30000` (30 seconds), `300000` (5 minutes), `1800000` (30 minutes), + `7200000` (2 hours), `28800000` (8 hours), and `86400000` (24 hours). For + performance metrics on storage objects (`/performance` endpoint), + such as volumes, valid values are `30000` (30 seconds), `300000` (5 minutes), + `1800000` (30 minutes), `7200000` (2 hours), `28800000` (8 hours), and + `86400000` (24 hours). For space metrics, (`/space` endpoint), + valid values are `300000` (5 minutes), `1800000` (30 minutes), `7200000` (2 + hours), `28800000` (8 hours), and `86400000` (24 hours). Include the + `start_time` parameter to display the performance data starting at the specified + start time. If `start_time` is not specified, the start time will default to one + resolution before the end time, meaning that the most recent sample of + performance data will be displayed. Include the `end_time` parameter to display + the performance data until the specified end time. If `end_time`is not + specified, the end time will default to the current time. If the `resolution` + parameter is not specified but either the `start_time` or `end_time` parameter + is, then `resolution` will default to the lowest valid resolution. + start_time (int, optional): + Displays historical performance data for the specified time window, where + `start_time` is the beginning of the time window, and `end_time` is the end of + the time window. The `start_time` and `end_time` parameters are specified in + milliseconds since the UNIX epoch. If `start_time` is not specified, the start + time will default to one resolution before the end time, meaning that the most + recent sample of performance data will be displayed. If `end_time`is not + specified, the end time will default to the current time. Include the + `resolution` parameter to display the performance data at the specified + resolution. If not specified, `resolution` defaults to the lowest valid + resolution. + ids (list[str], optional): + Performs the operation on the unique resource IDs specified. Enter multiple + resource IDs in comma-separated format. The `ids` or `names` parameter is + required, but they cannot be set together. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + total_only (bool, optional): + If set to `true`, returns the aggregate value of all items after filtering. + Where it makes more sense, the average value is displayed instead. The values + are displayed for each name where meaningful. If `total_only=true`, the `items` + list will be empty. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + destroyed=destroyed, + filter=filter, + end_time=end_time, + resolution=resolution, + start_time=start_time, + ids=ids, + limit=limit, + names=names, + offset=offset, + sort=sort, + total_item_count=total_item_count, + total_only=total_only, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._volume_groups_api.api226_volume_groups_performance_get_with_http_info + _process_references(references, ['ids', 'names'], kwargs) + return self._call_api(endpoint, kwargs) + + def post_volume_groups( + self, + references=None, # type: List[models.ReferenceType] + volume_group=None, # type: models.VolumeGroupPost + authorization=None, # type: str + x_request_id=None, # type: str + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.VolumeGroupResponse + """ + Creates a volume group. The volume group itself does not contain any meaningful + content; instead, it acts as a container that is used to organize volumes. Once + a volume group has been created, volumes can be created inside the volume group + or moved into and out of the volume group. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names keyword arguments. + + volume_group (VolumeGroupPost, required): + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + volume_group=volume_group, + authorization=authorization, + x_request_id=x_request_id, + names=names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._volume_groups_api.api226_volume_groups_post_with_http_info + _process_references(references, ['names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_volume_groups_space( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + destroyed=None, # type: bool + filter=None, # type: str + end_time=None, # type: int + resolution=None, # type: int + start_time=None, # type: int + ids=None, # type: List[str] + limit=None, # type: int + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + total_only=None, # type: bool + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.ResourceSpaceGetResponse + """ + Displays the provisioned size and physical storage consumption data for each + volume group. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides ids and names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + destroyed (bool, optional): + If set to `true`, lists only destroyed objects that are in the eradication + pending state. If set to `false`, lists only objects that are not destroyed. For + destroyed objects, the time remaining is displayed in milliseconds. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + end_time (int, optional): + Displays historical performance data for the specified time window, where + `start_time` is the beginning of the time window, and `end_time` is the end of + the time window. The `start_time` and `end_time` parameters are specified in + milliseconds since the UNIX epoch. If `start_time` is not specified, the start + time will default to one resolution before the end time, meaning that the most + recent sample of performance data will be displayed. If `end_time`is not + specified, the end time will default to the current time. Include the + `resolution` parameter to display the performance data at the specified + resolution. If not specified, `resolution` defaults to the lowest valid + resolution. + resolution (int, optional): + The number of milliseconds between samples of historical data. For array-wide + performance metrics (`/arrays/performance` endpoint), valid values are `1000` (1 + second), `30000` (30 seconds), `300000` (5 minutes), `1800000` (30 minutes), + `7200000` (2 hours), `28800000` (8 hours), and `86400000` (24 hours). For + performance metrics on storage objects (`/performance` endpoint), + such as volumes, valid values are `30000` (30 seconds), `300000` (5 minutes), + `1800000` (30 minutes), `7200000` (2 hours), `28800000` (8 hours), and + `86400000` (24 hours). For space metrics, (`/space` endpoint), + valid values are `300000` (5 minutes), `1800000` (30 minutes), `7200000` (2 + hours), `28800000` (8 hours), and `86400000` (24 hours). Include the + `start_time` parameter to display the performance data starting at the specified + start time. If `start_time` is not specified, the start time will default to one + resolution before the end time, meaning that the most recent sample of + performance data will be displayed. Include the `end_time` parameter to display + the performance data until the specified end time. If `end_time`is not + specified, the end time will default to the current time. If the `resolution` + parameter is not specified but either the `start_time` or `end_time` parameter + is, then `resolution` will default to the lowest valid resolution. + start_time (int, optional): + Displays historical performance data for the specified time window, where + `start_time` is the beginning of the time window, and `end_time` is the end of + the time window. The `start_time` and `end_time` parameters are specified in + milliseconds since the UNIX epoch. If `start_time` is not specified, the start + time will default to one resolution before the end time, meaning that the most + recent sample of performance data will be displayed. If `end_time`is not + specified, the end time will default to the current time. Include the + `resolution` parameter to display the performance data at the specified + resolution. If not specified, `resolution` defaults to the lowest valid + resolution. + ids (list[str], optional): + Performs the operation on the unique resource IDs specified. Enter multiple + resource IDs in comma-separated format. The `ids` or `names` parameter is + required, but they cannot be set together. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + total_only (bool, optional): + If set to `true`, returns the aggregate value of all items after filtering. + Where it makes more sense, the average value is displayed instead. The values + are displayed for each name where meaningful. If `total_only=true`, the `items` + list will be empty. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + destroyed=destroyed, + filter=filter, + end_time=end_time, + resolution=resolution, + start_time=start_time, + ids=ids, + limit=limit, + offset=offset, + sort=sort, + total_item_count=total_item_count, + total_only=total_only, + names=names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._volume_groups_api.api226_volume_groups_space_get_with_http_info + _process_references(references, ['ids', 'names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_volume_groups_volumes( + self, + groups=None, # type: List[models.ReferenceType] + members=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + filter=None, # type: str + group_ids=None, # type: List[str] + limit=None, # type: int + member_ids=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + group_names=None, # type: List[str] + member_names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.MemberGetResponse + """ + Returns a list of volume groups that contain volumes. + + Args: + groups (list[FixedReference], optional): + A list of groups to query for. Overrides group_ids and group_names keyword arguments. + members (list[FixedReference], optional): + A list of members to query for. Overrides member_ids and member_names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + continuation_token (str, optional): + An opaque token to iterate over a collection of resources. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + group_ids (list[str], optional): + A list of group IDs. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + member_ids (list[str], optional): + Performs the operation on the unique member IDs specified. Enter multiple member + IDs in comma-separated format. The `member_ids` or `member_names` parameter is + required, but they cannot be set together. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + group_names (list[str], optional): + Performs the operation on the unique group name specified. Examples of groups + include host groups, pods, protection groups, and volume groups. Enter multiple + names in comma-separated format. For example, `hgroup01,hgroup02`. + member_names (list[str], optional): + Performs the operation on the unique member name specified. Examples of members + include volumes, hosts, host groups, and directories. Enter multiple names in + comma-separated format. For example, `vol01,vol02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + continuation_token=continuation_token, + filter=filter, + group_ids=group_ids, + limit=limit, + member_ids=member_ids, + offset=offset, + sort=sort, + total_item_count=total_item_count, + group_names=group_names, + member_names=member_names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._volume_groups_api.api226_volume_groups_volumes_get_with_http_info + _process_references(groups, ['group_ids', 'group_names'], kwargs) + _process_references(members, ['member_ids', 'member_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def delete_volume_snapshots( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + ids=None, # type: List[str] + names=None, # type: List[str] + replication_snapshot=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """ + Deletes a volume snapshot that has been destroyed and is pending eradication. + Eradicated volume snapshots cannot be recovered. Volume snapshots are destroyed + by using the `PATCH` method. The `ids` or `names` parameter is required, but + they cannot be set together. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides ids and names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + ids (list[str], optional): + Performs the operation on the unique resource IDs specified. Enter multiple + resource IDs in comma-separated format. The `ids` or `names` parameter is + required, but they cannot be set together. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + replication_snapshot (bool, optional): + If set to `true`, allow destruction/eradication of snapshots in use by + replication. If set to `false`, allow destruction/eradication of snapshots not + in use by replication. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + ids=ids, + names=names, + replication_snapshot=replication_snapshot, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._volume_snapshots_api.api226_volume_snapshots_delete_with_http_info + _process_references(references, ['ids', 'names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_volume_snapshots( + self, + references=None, # type: List[models.ReferenceType] + sources=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + destroyed=None, # type: bool + filter=None, # type: str + ids=None, # type: List[str] + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + source_ids=None, # type: List[str] + source_names=None, # type: List[str] + total_item_count=None, # type: bool + total_only=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.VolumeSnapshotGetResponse + """ + Displays a list of volume snapshots, including those pending eradication. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides ids and names keyword arguments. + sources (list[FixedReference], optional): + A list of sources to query for. Overrides source_ids and source_names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + continuation_token (str, optional): + An opaque token to iterate over a collection of resources. + destroyed (bool, optional): + If set to `true`, lists only destroyed objects that are in the eradication + pending state. If set to `false`, lists only objects that are not destroyed. For + destroyed objects, the time remaining is displayed in milliseconds. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + ids (list[str], optional): + Performs the operation on the unique resource IDs specified. Enter multiple + resource IDs in comma-separated format. The `ids` or `names` parameter is + required, but they cannot be set together. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + source_ids (list[str], optional): + Performs the operation on the source ID specified. Enter multiple source IDs in + comma-separated format. + source_names (list[str], optional): + Performs the operation on the source name specified. Enter multiple source names + in comma-separated format. For example, `name01,name02`. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + total_only (bool, optional): + If set to `true`, returns the aggregate value of all items after filtering. + Where it makes more sense, the average value is displayed instead. The values + are displayed for each name where meaningful. If `total_only=true`, the `items` + list will be empty. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + continuation_token=continuation_token, + destroyed=destroyed, + filter=filter, + ids=ids, + limit=limit, + names=names, + offset=offset, + sort=sort, + source_ids=source_ids, + source_names=source_names, + total_item_count=total_item_count, + total_only=total_only, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._volume_snapshots_api.api226_volume_snapshots_get_with_http_info + _process_references(references, ['ids', 'names'], kwargs) + _process_references(sources, ['source_ids', 'source_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def patch_volume_snapshots( + self, + references=None, # type: List[models.ReferenceType] + volume_snapshot=None, # type: models.VolumeSnapshotPatch + authorization=None, # type: str + x_request_id=None, # type: str + ids=None, # type: List[str] + names=None, # type: List[str] + replication_snapshot=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.VolumeSnapshotResponse + """ + Modifies a volume snapshot by renaming, destroying, or recovering it. To rename + the suffix of a volume snapshot, set `name` to the new suffix name. To recover a + volume snapshot that has been destroyed and is pending eradication, set + `destroyed=true`. The `ids` or `names` parameter is required, but they cannot be + set together. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides ids and names keyword arguments. + + volume_snapshot (VolumeSnapshotPatch, required): + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + ids (list[str], optional): + Performs the operation on the unique resource IDs specified. Enter multiple + resource IDs in comma-separated format. The `ids` or `names` parameter is + required, but they cannot be set together. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + replication_snapshot (bool, optional): + If set to `true`, allow destruction/eradication of snapshots in use by + replication. If set to `false`, allow destruction/eradication of snapshots not + in use by replication. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + volume_snapshot=volume_snapshot, + authorization=authorization, + x_request_id=x_request_id, + ids=ids, + names=names, + replication_snapshot=replication_snapshot, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._volume_snapshots_api.api226_volume_snapshots_patch_with_http_info + _process_references(references, ['ids', 'names'], kwargs) + return self._call_api(endpoint, kwargs) + + def post_volume_snapshots( + self, + sources=None, # type: List[models.ReferenceType] + volume_snapshot=None, # type: models.VolumeSnapshotPost + authorization=None, # type: str + x_request_id=None, # type: str + on=None, # type: str + allow_throttle=None, # type: bool + source_ids=None, # type: List[str] + source_names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.VolumeSnapshotResponse + """ + Creates a point-in-time snapshot of the contents of a volume. The `source_ids` + or `source_names` parameter is required, but they cannot be set together. + + Args: + sources (list[FixedReference], optional): + A list of sources to query for. Overrides source_ids and source_names keyword arguments. + + volume_snapshot (VolumeSnapshotPost, required): + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + on (str, optional): + Performs the operation on the target name specified. For example, + `targetName01`. + allow_throttle (bool, optional): + If set to `true`, allows snapshot to fail if array health is not optimal. + source_ids (list[str], optional): + Performs the operation on the source ID specified. Enter multiple source IDs in + comma-separated format. + source_names (list[str], optional): + Performs the operation on the source name specified. Enter multiple source names + in comma-separated format. For example, `name01,name02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + volume_snapshot=volume_snapshot, + authorization=authorization, + x_request_id=x_request_id, + on=on, + allow_throttle=allow_throttle, + source_ids=source_ids, + source_names=source_names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._volume_snapshots_api.api226_volume_snapshots_post_with_http_info + _process_references(sources, ['source_ids', 'source_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def put_volume_snapshots_tags_batch( + self, + resources=None, # type: List[models.ReferenceType] + tag=None, # type: List[models.Tag] + authorization=None, # type: str + x_request_id=None, # type: str + resource_ids=None, # type: List[str] + resource_names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.TagResponse + """ + Updates tags. + + Args: + resources (list[FixedReference], optional): + A list of resources to query for. Overrides resource_ids and resource_names keyword arguments. + + tag (list[Tag], required): + A list of tags to be created or modified. + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + resource_ids (list[str], optional): + A list of resource IDs. The `resource_ids` or `resource_names` parameter is + required, but they cannot be set together. + resource_names (list[str], optional): + A list of resource names. The `resource_ids` or `resource_names` parameter is + required, but they cannot be set together. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + tag=tag, + authorization=authorization, + x_request_id=x_request_id, + resource_ids=resource_ids, + resource_names=resource_names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._volume_snapshots_api.api226_volume_snapshots_tags_batch_put_with_http_info + _process_references(resources, ['resource_ids', 'resource_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def delete_volume_snapshots_tags( + self, + resources=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + keys=None, # type: List[str] + namespaces=None, # type: List[str] + resource_ids=None, # type: List[str] + resource_names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """ + Deletes specified tags. + + Args: + resources (list[FixedReference], optional): + A list of resources to query for. Overrides resource_ids and resource_names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + keys (list[str], optional): + A list of tag keys. + namespaces (list[str], optional): + A list of namespaces. Only one namespace is allowed per delete request. + resource_ids (list[str], optional): + A list of resource IDs. The `resource_ids` or `resource_names` parameter is + required, but they cannot be set together. + resource_names (list[str], optional): + A list of resource names. The `resource_ids` or `resource_names` parameter is + required, but they cannot be set together. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + keys=keys, + namespaces=namespaces, + resource_ids=resource_ids, + resource_names=resource_names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._volume_snapshots_api.api226_volume_snapshots_tags_delete_with_http_info + _process_references(resources, ['resource_ids', 'resource_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_volume_snapshots_tags( + self, + resources=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + filter=None, # type: str + limit=None, # type: int + namespaces=None, # type: List[str] + offset=None, # type: int + resource_destroyed=None, # type: bool + resource_ids=None, # type: List[str] + resource_names=None, # type: List[str] + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.TagGetResponse + """ + Displays the list of tags. + + Args: + resources (list[FixedReference], optional): + A list of resources to query for. Overrides resource_ids and resource_names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + continuation_token (str, optional): + An opaque token to iterate over a collection of resources. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + namespaces (list[str], optional): + A list of namespaces. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + resource_destroyed (bool, optional): + If set to `true`, returns only objects from destroyed resources. Returns an + error if the name of a live resource is specified in the `resource_names` query + parameter. If set to `false`, returns only objects from live resources. Returns + an error if the name of a destroyed resource is specified in the + `resource_names` query parameter. + resource_ids (list[str], optional): + A list of resource IDs. The `resource_ids` or `resource_names` parameter is + required, but they cannot be set together. + resource_names (list[str], optional): + A list of resource names. The `resource_ids` or `resource_names` parameter is + required, but they cannot be set together. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + continuation_token=continuation_token, + filter=filter, + limit=limit, + namespaces=namespaces, + offset=offset, + resource_destroyed=resource_destroyed, + resource_ids=resource_ids, + resource_names=resource_names, + sort=sort, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._volume_snapshots_api.api226_volume_snapshots_tags_get_with_http_info + _process_references(resources, ['resource_ids', 'resource_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def post_volume_snapshots_test( + self, + sources=None, # type: List[models.ReferenceType] + volume_snapshot=None, # type: models.VolumeSnapshotPost + authorization=None, # type: str + x_request_id=None, # type: str + on=None, # type: str + allow_throttle=None, # type: bool + source_ids=None, # type: List[str] + source_names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.TestResultWithResourcePostResponse + """ + Creates the volume snapshot path without actually taking a volume snapshot. + + Args: + sources (list[FixedReference], optional): + A list of sources to query for. Overrides source_ids and source_names keyword arguments. + + volume_snapshot (VolumeSnapshotPost, required): + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + on (str, optional): + Performs the operation on the target name specified. For example, + `targetName01`. + allow_throttle (bool, optional): + If set to `true`, allows snapshot to fail if array health is not optimal. + source_ids (list[str], optional): + Performs the operation on the source ID specified. Enter multiple source IDs in + comma-separated format. + source_names (list[str], optional): + Performs the operation on the source name specified. Enter multiple source names + in comma-separated format. For example, `name01,name02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + volume_snapshot=volume_snapshot, + authorization=authorization, + x_request_id=x_request_id, + on=on, + allow_throttle=allow_throttle, + source_ids=source_ids, + source_names=source_names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._volume_snapshots_api.api226_volume_snapshots_test_post_with_http_info + _process_references(sources, ['source_ids', 'source_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_volume_snapshots_transfer( + self, + references=None, # type: List[models.ReferenceType] + sources=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + destroyed=None, # type: bool + filter=None, # type: str + ids=None, # type: List[str] + limit=None, # type: int + offset=None, # type: int + sort=None, # type: List[str] + source_ids=None, # type: List[str] + source_names=None, # type: List[str] + total_item_count=None, # type: bool + total_only=None, # type: bool + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.VolumeSnapshotTransferGetResponse + """ + Returns a list of volume snapshots and their transfer statistics. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides ids and names keyword arguments. + sources (list[FixedReference], optional): + A list of sources to query for. Overrides source_ids and source_names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + destroyed (bool, optional): + If set to `true`, lists only destroyed objects that are in the eradication + pending state. If set to `false`, lists only objects that are not destroyed. For + destroyed objects, the time remaining is displayed in milliseconds. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + ids (list[str], optional): + Performs the operation on the unique resource IDs specified. Enter multiple + resource IDs in comma-separated format. The `ids` or `names` parameter is + required, but they cannot be set together. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + source_ids (list[str], optional): + Performs the operation on the source ID specified. Enter multiple source IDs in + comma-separated format. + source_names (list[str], optional): + Performs the operation on the source name specified. Enter multiple source names + in comma-separated format. For example, `name01,name02`. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + total_only (bool, optional): + If set to `true`, returns the aggregate value of all items after filtering. + Where it makes more sense, the average value is displayed instead. The values + are displayed for each name where meaningful. If `total_only=true`, the `items` + list will be empty. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + destroyed=destroyed, + filter=filter, + ids=ids, + limit=limit, + offset=offset, + sort=sort, + source_ids=source_ids, + source_names=source_names, + total_item_count=total_item_count, + total_only=total_only, + names=names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._volume_snapshots_api.api226_volume_snapshots_transfer_get_with_http_info + _process_references(references, ['ids', 'names'], kwargs) + _process_references(sources, ['source_ids', 'source_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def delete_volumes( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + ids=None, # type: List[str] + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """ + Deletes a volume that has been destroyed and is pending eradication. Eradicated + volumes cannot be recovered. Volumes are destroyed using the `PATCH` method. The + `ids` or `names` parameter is required, but they cannot be set together. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides ids and names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + ids (list[str], optional): + Performs the operation on the unique resource IDs specified. Enter multiple + resource IDs in comma-separated format. The `ids` or `names` parameter is + required, but they cannot be set together. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + ids=ids, + names=names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._volumes_api.api226_volumes_delete_with_http_info + _process_references(references, ['ids', 'names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_volumes_diff( + self, + references=None, # type: List[models.ReferenceType] + segment_length=None, # type: int + block_size=None, # type: int + authorization=None, # type: str + x_request_id=None, # type: str + filter=None, # type: str + limit=None, # type: int + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + names=None, # type: List[str] + ids=None, # type: List[str] + base_name=None, # type: str + base_id=None, # type: str + segment_offset=None, # type: int + next_allocated_block_hint=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.VolumesDiffGetResponse + """ + Displays block differences for the specified volumes. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides names and ids keyword arguments. + + segment_length (int, required): + Length of the segment, in bytes, to compare. + block_size (int, required): + Granularity at which to compare, in bytes. Must be a multiple of 512. + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + ids (list[str], optional): + Performs the operation on the unique resource IDs specified. Enter multiple + resource IDs in comma-separated format. The `ids` or `names` parameter is + required, but they cannot be set together. + base_name (str, optional): + Name of the volume or volume snapshot that the diff comparison is based on. If a + base volume or volume snapshot is not specified, all mapped blocks for the + volume or volume snapshot are displayed. The `base_name` or `base_id` parameter + is required, but they cannot be set together. + base_id (str, optional): + ID of the volume or volume snapshot that the diff comparison is based on. If a + base volume or volume snapshot is not specified, all mapped blocks for the + volume or volume snapshot are displayed. The `base_name` or `base_id` parameter + is required, but they cannot be set together. + segment_offset (int, optional): + Absolute offset, in bytes, of the segment to compare. Must be a multiple of + block_size. + next_allocated_block_hint (bool, optional): + If set to `true`, appends offset of the next allocated block in bytes for the + volume specified in `names` or `ids` to the output `items`. `base_name` or + `base_id` must not be specified if this is set to `true`. If not specified, + defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + segment_length=segment_length, + block_size=block_size, + authorization=authorization, + x_request_id=x_request_id, + filter=filter, + limit=limit, + offset=offset, + sort=sort, + total_item_count=total_item_count, + names=names, + ids=ids, + base_name=base_name, + base_id=base_id, + segment_offset=segment_offset, + next_allocated_block_hint=next_allocated_block_hint, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._volumes_api.api226_volumes_diff_get_with_http_info + _process_references(references, ['names', 'ids'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_volumes( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + destroyed=None, # type: bool + filter=None, # type: str + ids=None, # type: List[str] + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + total_only=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.VolumeGetResponse + """ + Displays a list of volumes, including those pending eradication. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides ids and names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + continuation_token (str, optional): + An opaque token to iterate over a collection of resources. + destroyed (bool, optional): + If set to `true`, lists only destroyed objects that are in the eradication + pending state. If set to `false`, lists only objects that are not destroyed. For + destroyed objects, the time remaining is displayed in milliseconds. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + ids (list[str], optional): + Performs the operation on the unique resource IDs specified. Enter multiple + resource IDs in comma-separated format. The `ids` or `names` parameter is + required, but they cannot be set together. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + total_only (bool, optional): + If set to `true`, returns the aggregate value of all items after filtering. + Where it makes more sense, the average value is displayed instead. The values + are displayed for each name where meaningful. If `total_only=true`, the `items` + list will be empty. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + continuation_token=continuation_token, + destroyed=destroyed, + filter=filter, + ids=ids, + limit=limit, + names=names, + offset=offset, + sort=sort, + total_item_count=total_item_count, + total_only=total_only, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._volumes_api.api226_volumes_get_with_http_info + _process_references(references, ['ids', 'names'], kwargs) + return self._call_api(endpoint, kwargs) + + def patch_volumes( + self, + add_to_protection_groups=None, # type: List[models.ReferenceType] + references=None, # type: List[models.ReferenceType] + remove_from_protection_groups=None, # type: List[models.ReferenceType] + volume=None, # type: models.VolumePatch + authorization=None, # type: str + x_request_id=None, # type: str + add_to_protection_group_ids=None, # type: List[str] + add_to_protection_group_names=None, # type: List[str] + ids=None, # type: List[str] + names=None, # type: List[str] + remove_from_protection_group_ids=None, # type: List[str] + remove_from_protection_group_names=None, # type: List[str] + truncate=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.VolumeResponse + """ + Modifies a volume by renaming, destroying, or resizing it. To rename a volume, + set `name` to the new name. To destroy a volume, set `destroyed=true`. To + recover a volume that has been destroyed and is pending eradication, set + `destroyed=false`. Set the bandwidth and IOPs limits of a volume through the + respective `bandwidth_limit` and `iops_limit` parameter. This moves the volume + into a pod or volume group through the respective `pod` or `volume_group` + parameter. The `ids` or `names` parameter is required, but they cannot be set + together. + + Args: + add_to_protection_groups (list[FixedReference], optional): + A list of add_to_protection_groups to query for. Overrides add_to_protection_group_ids and add_to_protection_group_names keyword arguments. + references (list[FixedReference], optional): + A list of references to query for. Overrides ids and names keyword arguments. + remove_from_protection_groups (list[FixedReference], optional): + A list of remove_from_protection_groups to query for. Overrides remove_from_protection_group_ids and remove_from_protection_group_names keyword arguments. + + volume (VolumePatch, required): + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + add_to_protection_group_ids (list[str], optional): + The volumes will be added to the specified protection groups along with creation + or movement across pods and array. When a volume is moved, the specified + protection groups must be in the target pod or array. Enter multiple ids in + comma-separated format. + add_to_protection_group_names (list[str], optional): + The volumes will be added to the specified protection groups along with creation + or movement across pods and array. When a volume is moved, the specified + protection groups must be in the target pod or array. Enter multiple names in a + comma-separated format. + ids (list[str], optional): + Performs the operation on the unique resource IDs specified. Enter multiple + resource IDs in comma-separated format. The `ids` or `names` parameter is + required, but they cannot be set together. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + remove_from_protection_group_ids (list[str], optional): + The volumes will be removed from the specified protection groups in the source + pod or array along with the move. This can only be used when moving volumes + across pods and arrays and must include all protection groups that the volumes + are members of before the move. Enter multiple ids in a comma-separated format. + remove_from_protection_group_names (list[str], optional): + The volumes will be removed from the specified protection groups in the source + pod or array along with the move. This can only be used when moving volumes + across pods and arrays and must include all protection groups that the volumes + are members of before the move. Enter multiple names in a comma-separated + format. + truncate (bool, optional): + If set to `true`, reduces the size of a volume during a volume resize operation. + When a volume is truncated, Purity automatically takes an undo snapshot, + providing a 24-hour window during which the previous contents can be retrieved. + After truncating a volume, its provisioned size can be subsequently increased, + but the data in truncated sectors cannot be retrieved. If set to `false` or not + set at all and the volume is being reduced in size, the volume copy operation + fails. Required if the `provisioned` parameter is set to a volume size that is + smaller than the original size. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + volume=volume, + authorization=authorization, + x_request_id=x_request_id, + add_to_protection_group_ids=add_to_protection_group_ids, + add_to_protection_group_names=add_to_protection_group_names, + ids=ids, + names=names, + remove_from_protection_group_ids=remove_from_protection_group_ids, + remove_from_protection_group_names=remove_from_protection_group_names, + truncate=truncate, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._volumes_api.api226_volumes_patch_with_http_info + _process_references(add_to_protection_groups, ['add_to_protection_group_ids', 'add_to_protection_group_names'], kwargs) + _process_references(references, ['ids', 'names'], kwargs) + _process_references(remove_from_protection_groups, ['remove_from_protection_group_ids', 'remove_from_protection_group_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_volumes_performance_by_array( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + destroyed=None, # type: bool + filter=None, # type: str + end_time=None, # type: int + resolution=None, # type: int + start_time=None, # type: int + ids=None, # type: List[str] + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + total_only=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.ResourcePerformanceByArrayGetResponse + """ + Return real-time and historical performance data, real-time latency data, and + average I/O size data. The data returned is for each volume on the current array + and for each volume on any remote arrays that are visible to the current array. + The data is grouped by individual volumes and as a total across all volumes on + each array. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides ids and names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + destroyed (bool, optional): + If set to `true`, lists only destroyed objects that are in the eradication + pending state. If set to `false`, lists only objects that are not destroyed. For + destroyed objects, the time remaining is displayed in milliseconds. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + end_time (int, optional): + Displays historical performance data for the specified time window, where + `start_time` is the beginning of the time window, and `end_time` is the end of + the time window. The `start_time` and `end_time` parameters are specified in + milliseconds since the UNIX epoch. If `start_time` is not specified, the start + time will default to one resolution before the end time, meaning that the most + recent sample of performance data will be displayed. If `end_time`is not + specified, the end time will default to the current time. Include the + `resolution` parameter to display the performance data at the specified + resolution. If not specified, `resolution` defaults to the lowest valid + resolution. + resolution (int, optional): + The number of milliseconds between samples of historical data. For array-wide + performance metrics (`/arrays/performance` endpoint), valid values are `1000` (1 + second), `30000` (30 seconds), `300000` (5 minutes), `1800000` (30 minutes), + `7200000` (2 hours), `28800000` (8 hours), and `86400000` (24 hours). For + performance metrics on storage objects (`/performance` endpoint), + such as volumes, valid values are `30000` (30 seconds), `300000` (5 minutes), + `1800000` (30 minutes), `7200000` (2 hours), `28800000` (8 hours), and + `86400000` (24 hours). For space metrics, (`/space` endpoint), + valid values are `300000` (5 minutes), `1800000` (30 minutes), `7200000` (2 + hours), `28800000` (8 hours), and `86400000` (24 hours). Include the + `start_time` parameter to display the performance data starting at the specified + start time. If `start_time` is not specified, the start time will default to one + resolution before the end time, meaning that the most recent sample of + performance data will be displayed. Include the `end_time` parameter to display + the performance data until the specified end time. If `end_time`is not + specified, the end time will default to the current time. If the `resolution` + parameter is not specified but either the `start_time` or `end_time` parameter + is, then `resolution` will default to the lowest valid resolution. + start_time (int, optional): + Displays historical performance data for the specified time window, where + `start_time` is the beginning of the time window, and `end_time` is the end of + the time window. The `start_time` and `end_time` parameters are specified in + milliseconds since the UNIX epoch. If `start_time` is not specified, the start + time will default to one resolution before the end time, meaning that the most + recent sample of performance data will be displayed. If `end_time`is not + specified, the end time will default to the current time. Include the + `resolution` parameter to display the performance data at the specified + resolution. If not specified, `resolution` defaults to the lowest valid + resolution. + ids (list[str], optional): + Performs the operation on the unique resource IDs specified. Enter multiple + resource IDs in comma-separated format. The `ids` or `names` parameter is + required, but they cannot be set together. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + total_only (bool, optional): + If set to `true`, returns the aggregate value of all items after filtering. + Where it makes more sense, the average value is displayed instead. The values + are displayed for each name where meaningful. If `total_only=true`, the `items` + list will be empty. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + destroyed=destroyed, + filter=filter, + end_time=end_time, + resolution=resolution, + start_time=start_time, + ids=ids, + limit=limit, + names=names, + offset=offset, + sort=sort, + total_item_count=total_item_count, + total_only=total_only, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._volumes_api.api226_volumes_performance_by_array_get_with_http_info + _process_references(references, ['ids', 'names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_volumes_performance( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + destroyed=None, # type: bool + filter=None, # type: str + end_time=None, # type: int + resolution=None, # type: int + start_time=None, # type: int + ids=None, # type: List[str] + limit=None, # type: int + names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + total_only=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.ResourcePerformanceGetResponse + """ + Returns real-time and historical performance data, real-time latency data, and + average I/O sizes for each volume and and as a total of all volumes across the + entire array. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides ids and names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + destroyed (bool, optional): + If set to `true`, lists only destroyed objects that are in the eradication + pending state. If set to `false`, lists only objects that are not destroyed. For + destroyed objects, the time remaining is displayed in milliseconds. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + end_time (int, optional): + Displays historical performance data for the specified time window, where + `start_time` is the beginning of the time window, and `end_time` is the end of + the time window. The `start_time` and `end_time` parameters are specified in + milliseconds since the UNIX epoch. If `start_time` is not specified, the start + time will default to one resolution before the end time, meaning that the most + recent sample of performance data will be displayed. If `end_time`is not + specified, the end time will default to the current time. Include the + `resolution` parameter to display the performance data at the specified + resolution. If not specified, `resolution` defaults to the lowest valid + resolution. + resolution (int, optional): + The number of milliseconds between samples of historical data. For array-wide + performance metrics (`/arrays/performance` endpoint), valid values are `1000` (1 + second), `30000` (30 seconds), `300000` (5 minutes), `1800000` (30 minutes), + `7200000` (2 hours), `28800000` (8 hours), and `86400000` (24 hours). For + performance metrics on storage objects (`/performance` endpoint), + such as volumes, valid values are `30000` (30 seconds), `300000` (5 minutes), + `1800000` (30 minutes), `7200000` (2 hours), `28800000` (8 hours), and + `86400000` (24 hours). For space metrics, (`/space` endpoint), + valid values are `300000` (5 minutes), `1800000` (30 minutes), `7200000` (2 + hours), `28800000` (8 hours), and `86400000` (24 hours). Include the + `start_time` parameter to display the performance data starting at the specified + start time. If `start_time` is not specified, the start time will default to one + resolution before the end time, meaning that the most recent sample of + performance data will be displayed. Include the `end_time` parameter to display + the performance data until the specified end time. If `end_time`is not + specified, the end time will default to the current time. If the `resolution` + parameter is not specified but either the `start_time` or `end_time` parameter + is, then `resolution` will default to the lowest valid resolution. + start_time (int, optional): + Displays historical performance data for the specified time window, where + `start_time` is the beginning of the time window, and `end_time` is the end of + the time window. The `start_time` and `end_time` parameters are specified in + milliseconds since the UNIX epoch. If `start_time` is not specified, the start + time will default to one resolution before the end time, meaning that the most + recent sample of performance data will be displayed. If `end_time`is not + specified, the end time will default to the current time. Include the + `resolution` parameter to display the performance data at the specified + resolution. If not specified, `resolution` defaults to the lowest valid + resolution. + ids (list[str], optional): + Performs the operation on the unique resource IDs specified. Enter multiple + resource IDs in comma-separated format. The `ids` or `names` parameter is + required, but they cannot be set together. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + total_only (bool, optional): + If set to `true`, returns the aggregate value of all items after filtering. + Where it makes more sense, the average value is displayed instead. The values + are displayed for each name where meaningful. If `total_only=true`, the `items` + list will be empty. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + destroyed=destroyed, + filter=filter, + end_time=end_time, + resolution=resolution, + start_time=start_time, + ids=ids, + limit=limit, + names=names, + offset=offset, + sort=sort, + total_item_count=total_item_count, + total_only=total_only, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._volumes_api.api226_volumes_performance_get_with_http_info + _process_references(references, ['ids', 'names'], kwargs) + return self._call_api(endpoint, kwargs) + + def post_volumes( + self, + add_to_protection_groups=None, # type: List[models.ReferenceType] + references=None, # type: List[models.ReferenceType] + volume=None, # type: models.VolumePost + authorization=None, # type: str + x_request_id=None, # type: str + add_to_protection_group_ids=None, # type: List[str] + add_to_protection_group_names=None, # type: List[str] + names=None, # type: List[str] + overwrite=None, # type: bool + with_default_protection=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.VolumeResponse + """ + Creates one or more virtual storage volumes of the specified size. If + `provisioned` is not specified, the size of the new volume defaults to 1 MB. The + `names` query parameter is required. The `add_to_protection_group_names` query + parameter specifies a list of protection group names that will compose the + initial protection for the volume. The `with_default_protection` query parameter + specifies whether to use the container default protection configuration for the + volume. The `add_to_protection_group_names` and `with_default_protection` query + parameters cannot be provided when `overwrite` is `true`. + + Args: + add_to_protection_groups (list[FixedReference], optional): + A list of add_to_protection_groups to query for. Overrides add_to_protection_group_ids and add_to_protection_group_names keyword arguments. + references (list[FixedReference], optional): + A list of references to query for. Overrides names keyword arguments. + + volume (VolumePost, required): + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + add_to_protection_group_ids (list[str], optional): + The volumes will be added to the specified protection groups along with creation + or movement across pods and array. When a volume is moved, the specified + protection groups must be in the target pod or array. Enter multiple ids in + comma-separated format. + add_to_protection_group_names (list[str], optional): + The volumes will be added to the specified protection groups along with creation + or movement across pods and array. When a volume is moved, the specified + protection groups must be in the target pod or array. Enter multiple names in a + comma-separated format. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + overwrite (bool, optional): + If set to `true`, overwrites an existing object during an object copy operation. + If set to `false` or not set at all and the target name is an existing object, + the copy operation fails. Required if the `source` body parameter is set and the + source overwrites an existing object during the copy operation. + with_default_protection (bool, optional): + If specified as `true`, the initial protection of the newly created volumes will + be the union of the container default protection configuration and + `add_to_protection_group_names`. If specified as `false`, the default protection + of the container will not be applied automatically. The initial protection of + the newly created volumes will be configured by `add_to_protection_group_names`. + If not specified, defaults to `true`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + volume=volume, + authorization=authorization, + x_request_id=x_request_id, + add_to_protection_group_ids=add_to_protection_group_ids, + add_to_protection_group_names=add_to_protection_group_names, + names=names, + overwrite=overwrite, + with_default_protection=with_default_protection, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._volumes_api.api226_volumes_post_with_http_info + _process_references(add_to_protection_groups, ['add_to_protection_group_ids', 'add_to_protection_group_names'], kwargs) + _process_references(references, ['names'], kwargs) + return self._call_api(endpoint, kwargs) + + def delete_volumes_protection_groups( + self, + groups=None, # type: List[models.ReferenceType] + members=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + group_ids=None, # type: List[str] + group_names=None, # type: List[str] + member_names=None, # type: List[str] + member_ids=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """ + Deletes a volume member from a protection group. After the member has been + deleted, it is no longer protected by the group. Any protection group snapshots + that were taken before the member was deleted are not affected. Deleting a + member from a protection group does not delete the member from the array, and + the member can be added back to the protection group at any time. The + `group_names` parameter represents the name of the protection group, and the + `member_names` and `member_ids` parameters represent the names or IDs of the + volume. The `group_names` and only one of `member_names` or `member_ids` + parameters are required and must be set together. + + Args: + groups (list[FixedReference], optional): + A list of groups to query for. Overrides group_ids and group_names keyword arguments. + members (list[FixedReference], optional): + A list of members to query for. Overrides member_names and member_ids keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + group_ids (list[str], optional): + A list of group IDs. + group_names (list[str], optional): + Performs the operation on the unique group name specified. Examples of groups + include host groups, pods, protection groups, and volume groups. Enter multiple + names in comma-separated format. For example, `hgroup01,hgroup02`. + member_names (list[str], optional): + Performs the operation on the unique member name specified. Examples of members + include volumes, hosts, host groups, and directories. Enter multiple names in + comma-separated format. For example, `vol01,vol02`. + member_ids (list[str], optional): + Performs the operation on the unique member IDs specified. Enter multiple member + IDs in comma-separated format. The `member_ids` or `member_names` parameter is + required, but they cannot be set together. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + group_ids=group_ids, + group_names=group_names, + member_names=member_names, + member_ids=member_ids, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._volumes_api.api226_volumes_protection_groups_delete_with_http_info + _process_references(groups, ['group_ids', 'group_names'], kwargs) + _process_references(members, ['member_names', 'member_ids'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_volumes_protection_groups( + self, + groups=None, # type: List[models.ReferenceType] + members=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + filter=None, # type: str + group_ids=None, # type: List[str] + group_names=None, # type: List[str] + limit=None, # type: int + member_destroyed=None, # type: bool + member_ids=None, # type: List[str] + member_names=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.ProtectionGroupsVolumesGetResponse + """ + Displays a list of volume members that belong to one or more protection groups. + + Args: + groups (list[FixedReference], optional): + A list of groups to query for. Overrides group_ids and group_names keyword arguments. + members (list[FixedReference], optional): + A list of members to query for. Overrides member_ids and member_names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + continuation_token (str, optional): + An opaque token to iterate over a collection of resources. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + group_ids (list[str], optional): + A list of group IDs. + group_names (list[str], optional): + Performs the operation on the unique group name specified. Examples of groups + include host groups, pods, protection groups, and volume groups. Enter multiple + names in comma-separated format. For example, `hgroup01,hgroup02`. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + member_destroyed (bool, optional): + If true, returns only destroyed member objects. Returns an error if a name of a + live member object is specified in the member_names query param. If false, + returns only live member objects. Returns an error if a name of a destroyed + member object is specified in the member_names query param. + member_ids (list[str], optional): + Performs the operation on the unique member IDs specified. Enter multiple member + IDs in comma-separated format. The `member_ids` or `member_names` parameter is + required, but they cannot be set together. + member_names (list[str], optional): + Performs the operation on the unique member name specified. Examples of members + include volumes, hosts, host groups, and directories. Enter multiple names in + comma-separated format. For example, `vol01,vol02`. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + continuation_token=continuation_token, + filter=filter, + group_ids=group_ids, + group_names=group_names, + limit=limit, + member_destroyed=member_destroyed, + member_ids=member_ids, + member_names=member_names, + offset=offset, + sort=sort, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._volumes_api.api226_volumes_protection_groups_get_with_http_info + _process_references(groups, ['group_ids', 'group_names'], kwargs) + _process_references(members, ['member_ids', 'member_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def post_volumes_protection_groups( + self, + groups=None, # type: List[models.ReferenceType] + members=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + group_ids=None, # type: List[str] + group_names=None, # type: List[str] + member_names=None, # type: List[str] + member_ids=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.ProtectionGroupsVolumesResponse + """ + Creates a volume member and adds it to a protection group. Members that are + already in the protection group are not affected. For asynchronous replication, + only members of the same type can belong to a protection group. The + `group_names` parameter represents the name of the protection group, and the + `member_names` and `member_ids` parameters represent the names or IDs of the + volume. The `group_names` and only one of `member_names` or `member_ids` + parameters are required and must be set together. + + Args: + groups (list[FixedReference], optional): + A list of groups to query for. Overrides group_ids and group_names keyword arguments. + members (list[FixedReference], optional): + A list of members to query for. Overrides member_names and member_ids keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + group_ids (list[str], optional): + A list of group IDs. + group_names (list[str], optional): + Performs the operation on the unique group name specified. Examples of groups + include host groups, pods, protection groups, and volume groups. Enter multiple + names in comma-separated format. For example, `hgroup01,hgroup02`. + member_names (list[str], optional): + Performs the operation on the unique member name specified. Examples of members + include volumes, hosts, host groups, and directories. Enter multiple names in + comma-separated format. For example, `vol01,vol02`. + member_ids (list[str], optional): + Performs the operation on the unique member IDs specified. Enter multiple member + IDs in comma-separated format. The `member_ids` or `member_names` parameter is + required, but they cannot be set together. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + group_ids=group_ids, + group_names=group_names, + member_names=member_names, + member_ids=member_ids, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._volumes_api.api226_volumes_protection_groups_post_with_http_info + _process_references(groups, ['group_ids', 'group_names'], kwargs) + _process_references(members, ['member_names', 'member_ids'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_volumes_space( + self, + references=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + destroyed=None, # type: bool + filter=None, # type: str + end_time=None, # type: int + resolution=None, # type: int + start_time=None, # type: int + ids=None, # type: List[str] + limit=None, # type: int + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + total_only=None, # type: bool + names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.VolumeSpaceGetResponse + """ + Displays the provisioned size and physical storage consumption data for each + volume. + + Args: + references (list[FixedReference], optional): + A list of references to query for. Overrides ids and names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + destroyed (bool, optional): + If set to `true`, lists only destroyed objects that are in the eradication + pending state. If set to `false`, lists only objects that are not destroyed. For + destroyed objects, the time remaining is displayed in milliseconds. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + end_time (int, optional): + Displays historical performance data for the specified time window, where + `start_time` is the beginning of the time window, and `end_time` is the end of + the time window. The `start_time` and `end_time` parameters are specified in + milliseconds since the UNIX epoch. If `start_time` is not specified, the start + time will default to one resolution before the end time, meaning that the most + recent sample of performance data will be displayed. If `end_time`is not + specified, the end time will default to the current time. Include the + `resolution` parameter to display the performance data at the specified + resolution. If not specified, `resolution` defaults to the lowest valid + resolution. + resolution (int, optional): + The number of milliseconds between samples of historical data. For array-wide + performance metrics (`/arrays/performance` endpoint), valid values are `1000` (1 + second), `30000` (30 seconds), `300000` (5 minutes), `1800000` (30 minutes), + `7200000` (2 hours), `28800000` (8 hours), and `86400000` (24 hours). For + performance metrics on storage objects (`/performance` endpoint), + such as volumes, valid values are `30000` (30 seconds), `300000` (5 minutes), + `1800000` (30 minutes), `7200000` (2 hours), `28800000` (8 hours), and + `86400000` (24 hours). For space metrics, (`/space` endpoint), + valid values are `300000` (5 minutes), `1800000` (30 minutes), `7200000` (2 + hours), `28800000` (8 hours), and `86400000` (24 hours). Include the + `start_time` parameter to display the performance data starting at the specified + start time. If `start_time` is not specified, the start time will default to one + resolution before the end time, meaning that the most recent sample of + performance data will be displayed. Include the `end_time` parameter to display + the performance data until the specified end time. If `end_time`is not + specified, the end time will default to the current time. If the `resolution` + parameter is not specified but either the `start_time` or `end_time` parameter + is, then `resolution` will default to the lowest valid resolution. + start_time (int, optional): + Displays historical performance data for the specified time window, where + `start_time` is the beginning of the time window, and `end_time` is the end of + the time window. The `start_time` and `end_time` parameters are specified in + milliseconds since the UNIX epoch. If `start_time` is not specified, the start + time will default to one resolution before the end time, meaning that the most + recent sample of performance data will be displayed. If `end_time`is not + specified, the end time will default to the current time. Include the + `resolution` parameter to display the performance data at the specified + resolution. If not specified, `resolution` defaults to the lowest valid + resolution. + ids (list[str], optional): + Performs the operation on the unique resource IDs specified. Enter multiple + resource IDs in comma-separated format. The `ids` or `names` parameter is + required, but they cannot be set together. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + total_only (bool, optional): + If set to `true`, returns the aggregate value of all items after filtering. + Where it makes more sense, the average value is displayed instead. The values + are displayed for each name where meaningful. If `total_only=true`, the `items` + list will be empty. + names (list[str], optional): + Performs the operation on the unique name specified. Enter multiple names in + comma-separated format. For example, `name01,name02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + destroyed=destroyed, + filter=filter, + end_time=end_time, + resolution=resolution, + start_time=start_time, + ids=ids, + limit=limit, + offset=offset, + sort=sort, + total_item_count=total_item_count, + total_only=total_only, + names=names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._volumes_api.api226_volumes_space_get_with_http_info + _process_references(references, ['ids', 'names'], kwargs) + return self._call_api(endpoint, kwargs) + + def put_volumes_tags_batch( + self, + resources=None, # type: List[models.ReferenceType] + tag=None, # type: List[models.Tag] + authorization=None, # type: str + x_request_id=None, # type: str + resource_ids=None, # type: List[str] + resource_names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.TagResponse + """ + Updates tags. + + Args: + resources (list[FixedReference], optional): + A list of resources to query for. Overrides resource_ids and resource_names keyword arguments. + + tag (list[Tag], required): + A list of tags to be created or, if already existing, updated. + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + resource_ids (list[str], optional): + A list of resource IDs. The `resource_ids` or `resource_names` parameter is + required, but they cannot be set together. + resource_names (list[str], optional): + A list of resource names. The `resource_ids` or `resource_names` parameter is + required, but they cannot be set together. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + tag=tag, + authorization=authorization, + x_request_id=x_request_id, + resource_ids=resource_ids, + resource_names=resource_names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._volumes_api.api226_volumes_tags_batch_put_with_http_info + _process_references(resources, ['resource_ids', 'resource_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def delete_volumes_tags( + self, + resources=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + keys=None, # type: List[str] + namespaces=None, # type: List[str] + resource_ids=None, # type: List[str] + resource_names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> None + """ + Deletes specified tags. + + Args: + resources (list[FixedReference], optional): + A list of resources to query for. Overrides resource_ids and resource_names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + keys (list[str], optional): + A list of tag keys. + namespaces (list[str], optional): + A list of namespaces. Only one namespace is allowed per delete request. + resource_ids (list[str], optional): + A list of resource IDs. The `resource_ids` or `resource_names` parameter is + required, but they cannot be set together. + resource_names (list[str], optional): + A list of resource names. The `resource_ids` or `resource_names` parameter is + required, but they cannot be set together. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + keys=keys, + namespaces=namespaces, + resource_ids=resource_ids, + resource_names=resource_names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._volumes_api.api226_volumes_tags_delete_with_http_info + _process_references(resources, ['resource_ids', 'resource_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_volumes_tags( + self, + resources=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + filter=None, # type: str + limit=None, # type: int + namespaces=None, # type: List[str] + offset=None, # type: int + resource_destroyed=None, # type: bool + resource_ids=None, # type: List[str] + resource_names=None, # type: List[str] + sort=None, # type: List[str] + total_item_count=None, # type: bool + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.TagGetResponse + """ + Displays the list of tags. + + Args: + resources (list[FixedReference], optional): + A list of resources to query for. Overrides resource_ids and resource_names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + continuation_token (str, optional): + An opaque token to iterate over a collection of resources. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + namespaces (list[str], optional): + A list of namespaces. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + resource_destroyed (bool, optional): + If set to `true`, returns only objects from destroyed resources. Returns an + error if the name of a live resource is specified in the `resource_names` query + parameter. If set to `false`, returns only objects from live resources. Returns + an error if the name of a destroyed resource is specified in the + `resource_names` query parameter. + resource_ids (list[str], optional): + A list of resource IDs. The `resource_ids` or `resource_names` parameter is + required, but they cannot be set together. + resource_names (list[str], optional): + A list of resource names. The `resource_ids` or `resource_names` parameter is + required, but they cannot be set together. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + continuation_token=continuation_token, + filter=filter, + limit=limit, + namespaces=namespaces, + offset=offset, + resource_destroyed=resource_destroyed, + resource_ids=resource_ids, + resource_names=resource_names, + sort=sort, + total_item_count=total_item_count, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._volumes_api.api226_volumes_tags_get_with_http_info + _process_references(resources, ['resource_ids', 'resource_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def get_volumes_volume_groups( + self, + groups=None, # type: List[models.ReferenceType] + members=None, # type: List[models.ReferenceType] + authorization=None, # type: str + x_request_id=None, # type: str + continuation_token=None, # type: str + filter=None, # type: str + group_ids=None, # type: List[str] + limit=None, # type: int + member_ids=None, # type: List[str] + offset=None, # type: int + sort=None, # type: List[str] + total_item_count=None, # type: bool + group_names=None, # type: List[str] + member_names=None, # type: List[str] + async_req=False, # type: bool + _return_http_data_only=False, # type: bool + _preload_content=True, # type: bool + _request_timeout=None, # type: Optional[int] + ): + # type: (...) -> models.MemberGetResponse + """ + Returns a list of volumes that are in a volume group. + + Args: + groups (list[FixedReference], optional): + A list of groups to query for. Overrides group_ids and group_names keyword arguments. + members (list[FixedReference], optional): + A list of members to query for. Overrides member_ids and member_names keyword arguments. + + x_request_id (str, optional): + A header to provide to track the API call. Generated by the server if not + provided. + continuation_token (str, optional): + An opaque token to iterate over a collection of resources. + filter (Filter, optional): + A filter to include only resources that match the specified criteria. + group_ids (list[str], optional): + A list of group IDs. + limit (int, optional): + Limit the number of resources in the response. If not specified, defaults to + 1000. + member_ids (list[str], optional): + Performs the operation on the unique member IDs specified. Enter multiple member + IDs in comma-separated format. The `member_ids` or `member_names` parameter is + required, but they cannot be set together. + offset (int, optional): + The starting position based on the results of the query in relation to the full + set of response objects returned. + sort (list[Property], optional): + Sort the response by the specified Properties. Can also be a single element. + total_item_count (bool, optional): + If set to `true`, the `total_item_count` matching the specified query parameters + is calculated and returned in the response. If set to `false`, the + `total_item_count` is `null` in the response. This may speed up queries where + the `total_item_count` is large. If not specified, defaults to `false`. + group_names (list[str], optional): + Performs the operation on the unique group name specified. Examples of groups + include host groups, pods, protection groups, and volume groups. Enter multiple + names in comma-separated format. For example, `hgroup01,hgroup02`. + member_names (list[str], optional): + Performs the operation on the unique member name specified. Examples of members + include volumes, hosts, host groups, and directories. Enter multiple names in + comma-separated format. For example, `vol01,vol02`. + async_req (bool, optional): + Request runs in separate thread and method returns + multiprocessing.pool.ApplyResult. + _return_http_data_only (bool, optional): + Returns only data field. + _preload_content (bool, optional): + Response is converted into objects. + _request_timeout (int, optional): + Total request timeout in seconds. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs = dict( + authorization=authorization, + x_request_id=x_request_id, + continuation_token=continuation_token, + filter=filter, + group_ids=group_ids, + limit=limit, + member_ids=member_ids, + offset=offset, + sort=sort, + total_item_count=total_item_count, + group_names=group_names, + member_names=member_names, + async_req=async_req, + _return_http_data_only=_return_http_data_only, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + ) + kwargs = {k: v for k, v in kwargs.items() if v is not None} + endpoint = self._volumes_api.api226_volumes_volume_groups_get_with_http_info + _process_references(groups, ['group_ids', 'group_names'], kwargs) + _process_references(members, ['member_ids', 'member_names'], kwargs) + return self._call_api(endpoint, kwargs) + + def _get_base_url(self, target): + return 'https://{}'.format(target) + + def _get_api_token_endpoint(self, target): + return self._get_base_url(target) + '/api/2.26/login' + + def _set_agent_header(self): + """ + Set the user-agent header of the internal client. + """ + self._api_client.set_default_header('User-Agent', self._api_client.user_agent) + + def _set_auth_header(self, refresh=False): + """ + Set the authorization or x-auth-token header of the internal client with the access + token. + + Args: + refresh (bool, optional): Whether to retrieve a new access token. + Defaults to False. + + Raises: + PureError: If there was an error retrieving the access token. + """ + if isinstance(self._token_man, TokenManager): + self._api_client.set_default_header(Headers.authorization, + self._token_man.get_header(refresh=refresh)) + else: + self._api_client.set_default_header(Headers.x_auth_token, + self._token_man.get_session_token(refresh=refresh)) + + def _call_api(self, api_function, kwargs): + """ + Call the API function and process the response. May call the API + repeatedly if the request failed for a reason that may not persist in + the next call. + + Args: + api_function (function): Swagger-generated function to call. + kwargs (dict): kwargs to pass to the function. + + Returns: + ValidResponse: If the call was successful. + ErrorResponse: If the call was not successful. + + Raises: + PureError: If calling the API fails. + ValueError: If a parameter is of an invalid type. + TypeError: If invalid or missing parameters are used. + """ + kwargs['_request_timeout'] = self._timeout + retries = self._retries + while True: + try: + response = api_function(**kwargs) + # Call was successful (200) + return self._create_valid_response(response, api_function, kwargs) + except ApiException as error: + # If no chance for retries, return the error + if retries == 0: + return self._create_error_response(error) + # If bad request or not found, return the error (it will never work) + elif error.status in [400, 404]: + return self._create_error_response(error) + # If authentication error, reset access token and retry + elif error.status in [401, 403]: + self._set_auth_header(refresh=True) + # If rate limit error, wait the proper time and try again + elif error.status == 429: + # If the the minute limit hit, wait that long + if (int(error.headers.get(Headers.x_ratelimit_remaining_min)) + == int(error.headers.get(Headers.x_ratelimit_min))): + time.sleep(60) + # Otherwise it was the second limit and only wait a second + time.sleep(1) + # If some internal server error we know nothing about, return + elif error.status == 500: + return self._create_error_response(error) + # If internal server errors that has to do with timeouts, try again + elif error.status > 500: + pass + # If error with the swagger client, raise the error + else: + raise PureError(error) + retries = retries - 1 + + def _create_valid_response(self, response, endpoint, kwargs): + """ + Create a ValidResponse from a Swagger response. + + Args: + response (tuple): + Body, status, header tuple as returned from Swagger client. + endpoint (function): + The function of the Swagger client that was called. + kwargs (dict): + The processed kwargs that were passed to the endpoint function. + + Returns: + ValidResponse + """ + body, status, headers = response + continuation_token = getattr(body, "continuation_token", None) + total_item_count = getattr(body, "total_item_count", None) + total = getattr(body, "total", None) + more_items_remaining = getattr(body, "more_items_remaining", None) + items = None + if body is not None: + items = iter(ItemIterator(self, endpoint, kwargs, + continuation_token, total_item_count, + body.items, + headers.get(Headers.x_request_id, None), + more_items_remaining or False, None)) + return ValidResponse(status, continuation_token, total_item_count, + items, headers, total, more_items_remaining) + + def _create_error_response(self, error): + """ + Create an ErrorResponse from a Swagger error. + + Args: + error (ApiException): + Error returned by Swagger client. + + Returns: + ErrorResponse + """ + status = error.status + try: + body = json.loads(error.body) + except Exception: + body = {} + if status in [403, 429]: + # Parse differently if the error message came from kong + errors = [ApiError(None, body.get(Responses.message, None))] + else: + errors = [ApiError(err.get(Responses.context, None), + err.get(Responses.message, None)) + for err in body.get(Responses.errors, {})] + return ErrorResponse(status, errors, headers=error.headers) + + +def _process_references(references, params, kwargs): + """ + Process reference objects into a list of ids or names. + Removes ids and names arguments. + + Args: + references (list[FixedReference]): + The references from which to extract ids or names. + params (list[Parameter]): + The parameters to be overridden. + kwargs (dict): + The kwargs to process. + + Raises: + PureError: If a reference does not have an id or name. + """ + if references is not None: + if not isinstance(references, list): + references = [references] + for param in params: + kwargs.pop(param, None) + all_have_id = all(getattr(ref, 'id', None) is not None for ref in references) + all_have_name = all(getattr(ref, 'name', None) is not None for ref in references) + id_param = [param for param in params if param.endswith("ids")] + name_param = [param for param in params if param.endswith("names")] + if all_have_id and len(id_param) > 0: + kwargs[id_param[0]] = [getattr(ref, 'id') for ref in references] + elif all_have_name and len(name_param) > 0: + kwargs[name_param[0]] = [getattr(ref, 'name') for ref in references] + else: + raise PureError('Invalid reference for {}'.format(", ".join(params))) diff --git a/pypureclient/flasharray/FA_2_26/configuration.py b/pypureclient/flasharray/FA_2_26/configuration.py new file mode 100644 index 000000000..29ecdbbc6 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/configuration.py @@ -0,0 +1,235 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +from __future__ import absolute_import + +import copy +import logging +import multiprocessing +import sys +import urllib3 + +import six +from six.moves import http_client as httplib + + +class TypeWithDefault(type): + def __init__(cls, name, bases, dct): + super(TypeWithDefault, cls).__init__(name, bases, dct) + cls._default = None + + def __call__(cls): + if cls._default is None: + cls._default = type.__call__(cls) + return copy.copy(cls._default) + + def set_default(cls, default): + cls._default = copy.copy(default) + + +class Configuration(six.with_metaclass(TypeWithDefault, object)): + + def __init__(self): + """Constructor""" + # Default Base url + self.host = "https://localhost" + # Temp file folder for downloading files + self.temp_folder_path = None + + # Authentication Settings + # dict to store API key(s) + self.api_key = {} + # dict to store API prefix (e.g. Bearer) + self.api_key_prefix = {} + # Username for HTTP basic authentication + self.username = "" + # Password for HTTP basic authentication + self.password = "" + + # Logging Settings + self.logger = {} + self.logger["package_logger"] = logging.getLogger("pypureclient.flasharray.FA_2_26") + self.logger["urllib3_logger"] = logging.getLogger("urllib3") + # Log format + self.logger_format = '%(asctime)s %(levelname)s %(message)s' + # Log stream handler + self.logger_stream_handler = None + # Log file handler + self.logger_file_handler = None + # Debug file location + self.logger_file = None + # Debug switch + self.debug = False + + # SSL/TLS verification + # Set this to false to skip verifying SSL certificate when calling API + # from https server. + self.verify_ssl = True + # Set this to customize the certificate file to verify the peer. + self.ssl_ca_cert = None + # client certificate file + self.cert_file = None + # client key file + self.key_file = None + # Set this to True/False to enable/disable SSL hostname verification. + self.assert_hostname = None + + # urllib3 connection pool's maximum number of connections saved + # per pool. urllib3 uses 1 connection as default value, but this is + # not the best value when you are making a lot of possibly parallel + # requests to the same host, which is often the case here. + # cpu_count * 5 is used as default value to increase performance. + self.connection_pool_maxsize = multiprocessing.cpu_count() * 5 + + # Proxy URL + self.proxy = None + # Safe chars for path_param + self.safe_chars_for_path_param = '' + + @property + def logger_file(self): + """The logger file. + + If the logger_file is None, then add stream handler and remove file + handler. Otherwise, add file handler and remove stream handler. + + :param value: The logger_file path. + :type: str + """ + return self.__logger_file + + @logger_file.setter + def logger_file(self, value): + """The logger file. + + If the logger_file is None, then add stream handler and remove file + handler. Otherwise, add file handler and remove stream handler. + + :param value: The logger_file path. + :type: str + """ + self.__logger_file = value + if self.__logger_file: + # If set logging file, + # then add file handler and remove stream handler. + self.logger_file_handler = logging.FileHandler(self.__logger_file) + self.logger_file_handler.setFormatter(self.logger_formatter) + for _, logger in six.iteritems(self.logger): + logger.addHandler(self.logger_file_handler) + if self.logger_stream_handler: + logger.removeHandler(self.logger_stream_handler) + else: + # If not set logging file, + # then add stream handler and remove file handler. + self.logger_stream_handler = logging.StreamHandler() + self.logger_stream_handler.setFormatter(self.logger_formatter) + for _, logger in six.iteritems(self.logger): + logger.addHandler(self.logger_stream_handler) + if self.logger_file_handler: + logger.removeHandler(self.logger_file_handler) + + @property + def debug(self): + """Debug status + + :param value: The debug status, True or False. + :type: bool + """ + return self.__debug + + @debug.setter + def debug(self, value): + """Debug status + + :param value: The debug status, True or False. + :type: bool + """ + self.__debug = value + if self.__debug: + # if debug status is True, turn on debug logging + for _, logger in six.iteritems(self.logger): + logger.setLevel(logging.DEBUG) + # turn on httplib debug + httplib.HTTPConnection.debuglevel = 1 + else: + # if debug status is False, turn off debug logging, + # setting log level to default `logging.WARNING` + for _, logger in six.iteritems(self.logger): + logger.setLevel(logging.WARNING) + # turn off httplib debug + httplib.HTTPConnection.debuglevel = 0 + + @property + def logger_format(self): + """The logger format. + + The logger_formatter will be updated when sets logger_format. + + :param value: The format string. + :type: str + """ + return self.__logger_format + + @logger_format.setter + def logger_format(self, value): + """The logger format. + + The logger_formatter will be updated when sets logger_format. + + :param value: The format string. + :type: str + """ + self.__logger_format = value + self.logger_formatter = logging.Formatter(self.__logger_format) + + def get_api_key_with_prefix(self, identifier): + """Gets API key (with prefix if set). + + :param identifier: The identifier of apiKey. + :return: The token for api key authentication. + """ + if (self.api_key.get(identifier) and + self.api_key_prefix.get(identifier)): + return self.api_key_prefix[identifier] + ' ' + self.api_key[identifier] + elif self.api_key.get(identifier): + return self.api_key[identifier] + + def get_basic_auth_token(self): + """Gets HTTP basic authentication header (string). + + :return: The token for basic HTTP authentication. + """ + return urllib3.util.make_headers( + basic_auth=self.username + ':' + self.password + ).get('authorization') + + def auth_settings(self): + """Gets Auth Settings dict for api client. + + :return: The Auth Settings information dict. + """ + return { + + } + + def to_debug_report(self): + """Gets the essential information for debugging. + + :return: The report for debugging. + """ + return "Python SDK Debug Report:\n"\ + "OS: {env}\n"\ + "Python Version: {pyversion}\n"\ + "Version of the API: 2.26\n"\ + "SDK Package Version: 2.26".\ + format(env=sys.platform, pyversion=sys.version) diff --git a/pypureclient/flasharray/FA_2_26/models/__init__.py b/pypureclient/flasharray/FA_2_26/models/__init__.py new file mode 100644 index 000000000..3d5808890 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/__init__.py @@ -0,0 +1,637 @@ +# coding: utf-8 + +from __future__ import absolute_import + + +class ReferenceType(object): + """Class just for type annotations. + + It's used for reference arg on api function. This allows user to pass collections of Model objects + to the method without transforming them to ids or names. + + Should be Protocol type when the typing module will get support of it. + """ + def __init__(self): + self.id = '' + self.name = '' + + +def quoteString(s): + r"""Quote string according to + https://wiki.purestorage.com/display/UXReviewers/Filtering + + >>> quote("a") + "'a'" + >>> quote("a\\b") + "'a\\\\b'" + >>> quote("a\\b") + "'a\\\\b'" + >>> quote("a'b") + "'a\\'b'" + >>> quote(None) + None + """ + if s is None: + return None + quoted = str(s).replace("\\", "\\\\").replace("'", "\\'") + return "'{}'".format(quoted) + + +def quoteStrings(s): + if s is None: + return None + return [quoteString(x) for x in s] + + +# import models into model package +from .active_directory import ActiveDirectory +from .active_directory_get_response import ActiveDirectoryGetResponse +from .active_directory_patch import ActiveDirectoryPatch +from .active_directory_post import ActiveDirectoryPost +from .active_directory_response import ActiveDirectoryResponse +from .admin import Admin +from .admin_api_token import AdminApiToken +from .admin_api_token_get_response import AdminApiTokenGetResponse +from .admin_api_token_response import AdminApiTokenResponse +from .admin_cache import AdminCache +from .admin_cache_get_response import AdminCacheGetResponse +from .admin_cache_response import AdminCacheResponse +from .admin_get_response import AdminGetResponse +from .admin_patch import AdminPatch +from .admin_post import AdminPost +from .admin_response import AdminResponse +from .admin_role import AdminRole +from .admin_settings import AdminSettings +from .admin_settings_response import AdminSettingsResponse +from .aggregate_replication_performance import AggregateReplicationPerformance +from .alert import Alert +from .alert_event import AlertEvent +from .alert_event_get_response import AlertEventGetResponse +from .alert_event_response import AlertEventResponse +from .alert_get_response import AlertGetResponse +from .alert_response import AlertResponse +from .alert_rules import AlertRules +from .alert_rules_catalog import AlertRulesCatalog +from .alert_rules_catalog_get_response import AlertRulesCatalogGetResponse +from .alert_rules_catalog_response import AlertRulesCatalogResponse +from .alert_rules_get_response import AlertRulesGetResponse +from .alert_rules_response import AlertRulesResponse +from .alert_watcher import AlertWatcher +from .alert_watcher_get_response import AlertWatcherGetResponse +from .alert_watcher_patch import AlertWatcherPatch +from .alert_watcher_post import AlertWatcherPost +from .alert_watcher_response import AlertWatcherResponse +from .api_client import ApiClient +from .api_client_get_response import ApiClientGetResponse +from .api_client_patch import ApiClientPatch +from .api_client_post import ApiClientPost +from .api_client_response import ApiClientResponse +from .api_token import ApiToken +from .api_version_response import ApiVersionResponse +from .app import App +from .app_get_response import AppGetResponse +from .app_node import AppNode +from .app_node_get_response import AppNodeGetResponse +from .app_node_response import AppNodeResponse +from .app_response import AppResponse +from .array import Array +from .array_connection import ArrayConnection +from .array_connection_get_response import ArrayConnectionGetResponse +from .array_connection_key import ArrayConnectionKey +from .array_connection_key_get_response import ArrayConnectionKeyGetResponse +from .array_connection_path import ArrayConnectionPath +from .array_connection_path_get_response import ArrayConnectionPathGetResponse +from .array_connection_path_response import ArrayConnectionPathResponse +from .array_connection_post import ArrayConnectionPost +from .array_connection_response import ArrayConnectionResponse +from .array_encryption import ArrayEncryption +from .array_factory_reset_token import ArrayFactoryResetToken +from .array_factory_reset_token_get_response import ArrayFactoryResetTokenGetResponse +from .array_factory_reset_token_response import ArrayFactoryResetTokenResponse +from .array_get_response import ArrayGetResponse +from .array_performance import ArrayPerformance +from .array_performance_by_link import ArrayPerformanceByLink +from .array_performance_by_link_get_response import ArrayPerformanceByLinkGetResponse +from .array_performance_by_link_response import ArrayPerformanceByLinkResponse +from .array_performance_get_response import ArrayPerformanceGetResponse +from .array_response import ArrayResponse +from .array_space import ArraySpace +from .array_space_get_response import ArraySpaceGetResponse +from .arrayencryption_data_at_rest import ArrayencryptionDataAtRest +from .arrays import Arrays +from .audit import Audit +from .audit_get_response import AuditGetResponse +from .audit_response import AuditResponse +from .built_in import BuiltIn +from .built_in_relationship import BuiltInRelationship +from .built_in_resource_no_id import BuiltInResourceNoId +from .certificate import Certificate +from .certificate_get_response import CertificateGetResponse +from .certificate_post import CertificatePost +from .certificate_response import CertificateResponse +from .certificate_signing_request import CertificateSigningRequest +from .certificate_signing_request_post import CertificateSigningRequestPost +from .certificate_signing_request_response import CertificateSigningRequestResponse +from .chap import Chap +from .cloud_provider_tag import CloudProviderTag +from .cloud_provider_tag_get_response import CloudProviderTagGetResponse +from .cloud_provider_tag_response import CloudProviderTagResponse +from .connection import Connection +from .connection_get_response import ConnectionGetResponse +from .connection_post import ConnectionPost +from .connection_response import ConnectionResponse +from .container_default_protection import ContainerDefaultProtection +from .container_default_protection_get_response import ContainerDefaultProtectionGetResponse +from .container_default_protection_response import ContainerDefaultProtectionResponse +from .controller import Controller +from .controller_get_response import ControllerGetResponse +from .controllers import Controllers +from .default_protection_reference import DefaultProtectionReference +from .destroyed_patch_post import DestroyedPatchPost +from .directory import Directory +from .directory_export import DirectoryExport +from .directory_export_get_response import DirectoryExportGetResponse +from .directory_export_post import DirectoryExportPost +from .directory_export_response import DirectoryExportResponse +from .directory_get_response import DirectoryGetResponse +from .directory_lock_nlm_reclamation import DirectoryLockNlmReclamation +from .directory_lock_nlm_reclamation_response import DirectoryLockNlmReclamationResponse +from .directory_patch import DirectoryPatch +from .directory_performance import DirectoryPerformance +from .directory_performance_get_response import DirectoryPerformanceGetResponse +from .directory_policy_export_post import DirectoryPolicyExportPost +from .directory_policy_post import DirectoryPolicyPost +from .directory_post import DirectoryPost +from .directory_quota import DirectoryQuota +from .directory_quotas_get_response import DirectoryQuotasGetResponse +from .directory_quotas_response import DirectoryQuotasResponse +from .directory_response import DirectoryResponse +from .directory_service import DirectoryService +from .directory_service_get_response import DirectoryServiceGetResponse +from .directory_service_management import DirectoryServiceManagement +from .directory_service_response import DirectoryServiceResponse +from .directory_service_role import DirectoryServiceRole +from .directory_service_role_get_response import DirectoryServiceRoleGetResponse +from .directory_service_role_response import DirectoryServiceRoleResponse +from .directory_snapshot import DirectorySnapshot +from .directory_snapshot_get_response import DirectorySnapshotGetResponse +from .directory_snapshot_patch import DirectorySnapshotPatch +from .directory_snapshot_post import DirectorySnapshotPost +from .directory_snapshot_response import DirectorySnapshotResponse +from .directory_space import DirectorySpace +from .directorypolicyexportpost_policies import DirectorypolicyexportpostPolicies +from .directorypolicypost_policies import DirectorypolicypostPolicies +from .dns import Dns +from .dns_get_response import DnsGetResponse +from .dns_patch import DnsPatch +from .dns_post import DnsPost +from .dns_response import DnsResponse +from .drive import Drive +from .drive_get_response import DriveGetResponse +from .drive_response import DriveResponse +from .eradication_config import EradicationConfig +from .eula import Eula +from .eula_get_response import EulaGetResponse +from .eula_response import EulaResponse +from .eula_signature import EulaSignature +from .file_post import FilePost +from .file_system import FileSystem +from .file_system_get_response import FileSystemGetResponse +from .file_system_patch import FileSystemPatch +from .file_system_response import FileSystemResponse +from .fixed_name_resource_no_id import FixedNameResourceNoId +from .fixed_reference import FixedReference +from .fixed_reference_no_id import FixedReferenceNoId +from .fixed_reference_with_type import FixedReferenceWithType +from .hardware import Hardware +from .hardware_get_response import HardwareGetResponse +from .hardware_patch import HardwarePatch +from .hardware_response import HardwareResponse +from .host import Host +from .host_get_response import HostGetResponse +from .host_group import HostGroup +from .host_group_get_response import HostGroupGetResponse +from .host_group_patch import HostGroupPatch +from .host_group_performance import HostGroupPerformance +from .host_group_performance_by_array import HostGroupPerformanceByArray +from .host_group_response import HostGroupResponse +from .host_group_space import HostGroupSpace +from .host_patch import HostPatch +from .host_performance import HostPerformance +from .host_performance_balance import HostPerformanceBalance +from .host_performance_balance_get_response import HostPerformanceBalanceGetResponse +from .host_performance_by_array import HostPerformanceByArray +from .host_port_connectivity import HostPortConnectivity +from .host_post import HostPost +from .host_response import HostResponse +from .host_space import HostSpace +from .inline_response400 import InlineResponse400 +from .inline_response401 import InlineResponse401 +from .kmip import Kmip +from .kmip_certificate import KmipCertificate +from .kmip_get_response import KmipGetResponse +from .kmip_object import KmipObject +from .kmip_patch import KmipPatch +from .kmip_post import KmipPost +from .kmip_response import KmipResponse +from .kmip_test_result import KmipTestResult +from .kmip_test_result_get_response import KmipTestResultGetResponse +from .limited_by import LimitedBy +from .local_group import LocalGroup +from .local_group_get_response import LocalGroupGetResponse +from .local_group_membership_post import LocalGroupMembershipPost +from .local_group_post import LocalGroupPost +from .local_group_response import LocalGroupResponse +from .local_member import LocalMember +from .local_membership_get_response import LocalMembershipGetResponse +from .local_membership_response import LocalMembershipResponse +from .local_user import LocalUser +from .local_user_get_response import LocalUserGetResponse +from .local_user_membership_post import LocalUserMembershipPost +from .local_user_patch import LocalUserPatch +from .local_user_post import LocalUserPost +from .local_user_response import LocalUserResponse +from .localgroupmembershippost_members import LocalgroupmembershippostMembers +from .localusermembershippost_groups import LocalusermembershippostGroups +from .maintenance_window import MaintenanceWindow +from .maintenance_window_post import MaintenanceWindowPost +from .maintenance_windows_get_response import MaintenanceWindowsGetResponse +from .maintenance_windows_response import MaintenanceWindowsResponse +from .member import Member +from .member_get_response import MemberGetResponse +from .member_no_id_all import MemberNoIdAll +from .member_no_id_all_get_response import MemberNoIdAllGetResponse +from .member_no_id_all_response import MemberNoIdAllResponse +from .member_no_id_group import MemberNoIdGroup +from .member_no_id_member import MemberNoIdMember +from .member_no_id_member_get_response import MemberNoIdMemberGetResponse +from .member_no_id_member_response import MemberNoIdMemberResponse +from .member_response import MemberResponse +from .network_interface import NetworkInterface +from .network_interface_eth import NetworkInterfaceEth +from .network_interface_fc import NetworkInterfaceFc +from .network_interface_get_response import NetworkInterfaceGetResponse +from .network_interface_neighbor import NetworkInterfaceNeighbor +from .network_interface_neighbor_capability import NetworkInterfaceNeighborCapability +from .network_interface_neighbor_get_response import NetworkInterfaceNeighborGetResponse +from .network_interface_neighbor_neighbor_chassis import NetworkInterfaceNeighborNeighborChassis +from .network_interface_neighbor_neighbor_chassis_id import NetworkInterfaceNeighborNeighborChassisId +from .network_interface_neighbor_neighbor_port import NetworkInterfaceNeighborNeighborPort +from .network_interface_neighbor_neighbor_port_id import NetworkInterfaceNeighborNeighborPortId +from .network_interface_neighbor_response import NetworkInterfaceNeighborResponse +from .network_interface_patch import NetworkInterfacePatch +from .network_interface_performance import NetworkInterfacePerformance +from .network_interface_performance_eth import NetworkInterfacePerformanceEth +from .network_interface_performance_fc import NetworkInterfacePerformanceFc +from .network_interface_performance_get_response import NetworkInterfacePerformanceGetResponse +from .network_interface_port_details import NetworkInterfacePortDetails +from .network_interface_port_details_rx_los import NetworkInterfacePortDetailsRxLos +from .network_interface_port_details_rx_power import NetworkInterfacePortDetailsRxPower +from .network_interface_port_details_static import NetworkInterfacePortDetailsStatic +from .network_interface_port_details_static_rx_power_thresholds import NetworkInterfacePortDetailsStaticRxPowerThresholds +from .network_interface_port_details_static_temperature_thresholds import NetworkInterfacePortDetailsStaticTemperatureThresholds +from .network_interface_port_details_static_tx_bias_thresholds import NetworkInterfacePortDetailsStaticTxBiasThresholds +from .network_interface_port_details_static_tx_power_thresholds import NetworkInterfacePortDetailsStaticTxPowerThresholds +from .network_interface_port_details_static_voltage_thresholds import NetworkInterfacePortDetailsStaticVoltageThresholds +from .network_interface_port_details_temperature import NetworkInterfacePortDetailsTemperature +from .network_interface_port_details_tx_bias import NetworkInterfacePortDetailsTxBias +from .network_interface_port_details_tx_fault import NetworkInterfacePortDetailsTxFault +from .network_interface_port_details_tx_power import NetworkInterfacePortDetailsTxPower +from .network_interface_port_details_voltage import NetworkInterfacePortDetailsVoltage +from .network_interface_post import NetworkInterfacePost +from .network_interface_response import NetworkInterfaceResponse +from .network_interfaces_port_details import NetworkInterfacesPortDetails +from .network_interfaces_port_details_get_response import NetworkInterfacesPortDetailsGetResponse +from .network_interfaces_port_details_response import NetworkInterfacesPortDetailsResponse +from .networkinterfacepatch_eth import NetworkinterfacepatchEth +from .networkinterfacepost_eth import NetworkinterfacepostEth +from .new_name import NewName +from .oauth_token_response import OauthTokenResponse +from .offload import Offload +from .offload_azure import OffloadAzure +from .offload_get_response import OffloadGetResponse +from .offload_google_cloud import OffloadGoogleCloud +from .offload_nfs import OffloadNfs +from .offload_post import OffloadPost +from .offload_response import OffloadResponse +from .offload_s3 import OffloadS3 +from .override_check import OverrideCheck +from .page_info import PageInfo +from .performance import Performance +from .pod import Pod +from .pod_array_status import PodArrayStatus +from .pod_eradication_config import PodEradicationConfig +from .pod_get_response import PodGetResponse +from .pod_patch import PodPatch +from .pod_performance import PodPerformance +from .pod_performance_by_array import PodPerformanceByArray +from .pod_performance_by_array_get_response import PodPerformanceByArrayGetResponse +from .pod_performance_get_response import PodPerformanceGetResponse +from .pod_performance_replication import PodPerformanceReplication +from .pod_performance_replication_by_array import PodPerformanceReplicationByArray +from .pod_performance_replication_by_array_get_response import PodPerformanceReplicationByArrayGetResponse +from .pod_performance_replication_by_array_response import PodPerformanceReplicationByArrayResponse +from .pod_performance_replication_get_response import PodPerformanceReplicationGetResponse +from .pod_performance_replication_response import PodPerformanceReplicationResponse +from .pod_post import PodPost +from .pod_replica_link import PodReplicaLink +from .pod_replica_link_get_response import PodReplicaLinkGetResponse +from .pod_replica_link_lag import PodReplicaLinkLag +from .pod_replica_link_lag_get_response import PodReplicaLinkLagGetResponse +from .pod_replica_link_lag_response import PodReplicaLinkLagResponse +from .pod_replica_link_patch import PodReplicaLinkPatch +from .pod_replica_link_performance import PodReplicaLinkPerformance +from .pod_replica_link_performance_replication import PodReplicaLinkPerformanceReplication +from .pod_replica_link_performance_replication_get_response import PodReplicaLinkPerformanceReplicationGetResponse +from .pod_replica_link_performance_replication_response import PodReplicaLinkPerformanceReplicationResponse +from .pod_replica_link_response import PodReplicaLinkResponse +from .pod_response import PodResponse +from .pod_space import PodSpace +from .policy import Policy +from .policy_get_response import PolicyGetResponse +from .policy_member import PolicyMember +from .policy_member_export import PolicyMemberExport +from .policy_member_export_get_response import PolicyMemberExportGetResponse +from .policy_member_export_post import PolicyMemberExportPost +from .policy_member_export_response import PolicyMemberExportResponse +from .policy_member_get_response import PolicyMemberGetResponse +from .policy_member_post import PolicyMemberPost +from .policy_member_response import PolicyMemberResponse +from .policy_nfs import PolicyNfs +from .policy_nfs_get_response import PolicyNfsGetResponse +from .policy_nfs_patch import PolicyNfsPatch +from .policy_nfs_post import PolicyNfsPost +from .policy_nfs_response import PolicyNfsResponse +from .policy_patch import PolicyPatch +from .policy_post import PolicyPost +from .policy_response import PolicyResponse +from .policy_rule_nfs_client import PolicyRuleNfsClient +from .policy_rule_nfs_client_get_response import PolicyRuleNfsClientGetResponse +from .policy_rule_nfs_client_post import PolicyRuleNfsClientPost +from .policy_rule_nfs_client_response import PolicyRuleNfsClientResponse +from .policy_rule_quota import PolicyRuleQuota +from .policy_rule_quota_get_response import PolicyRuleQuotaGetResponse +from .policy_rule_quota_patch import PolicyRuleQuotaPatch +from .policy_rule_quota_post import PolicyRuleQuotaPost +from .policy_rule_quota_response import PolicyRuleQuotaResponse +from .policy_rule_smb_client import PolicyRuleSmbClient +from .policy_rule_smb_client_get_response import PolicyRuleSmbClientGetResponse +from .policy_rule_smb_client_post import PolicyRuleSmbClientPost +from .policy_rule_smb_client_response import PolicyRuleSmbClientResponse +from .policy_rule_snapshot import PolicyRuleSnapshot +from .policy_rule_snapshot_get_response import PolicyRuleSnapshotGetResponse +from .policy_rule_snapshot_post import PolicyRuleSnapshotPost +from .policy_rule_snapshot_response import PolicyRuleSnapshotResponse +from .policy_smb import PolicySmb +from .policy_smb_get_response import PolicySmbGetResponse +from .policy_smb_patch import PolicySmbPatch +from .policy_smb_post import PolicySmbPost +from .policy_smb_response import PolicySmbResponse +from .policymemberexportpost_members import PolicymemberexportpostMembers +from .policymemberpost_members import PolicymemberpostMembers +from .policyrulenfsclientpost_rules import PolicyrulenfsclientpostRules +from .policyrulequotapatch_rules import PolicyrulequotapatchRules +from .policyrulequotapost_rules import PolicyrulequotapostRules +from .policyrulesmbclientpost_rules import PolicyrulesmbclientpostRules +from .policyrulesnapshotpost_rules import PolicyrulesnapshotpostRules +from .port import Port +from .port_common import PortCommon +from .port_get_response import PortGetResponse +from .port_initiator import PortInitiator +from .port_initiators_get_response import PortInitiatorsGetResponse +from .priority_adjustment import PriorityAdjustment +from .protection_group import ProtectionGroup +from .protection_group_eradication_config import ProtectionGroupEradicationConfig +from .protection_group_get_response import ProtectionGroupGetResponse +from .protection_group_performance import ProtectionGroupPerformance +from .protection_group_performance_array import ProtectionGroupPerformanceArray +from .protection_group_performance_array_response import ProtectionGroupPerformanceArrayResponse +from .protection_group_performance_by_array import ProtectionGroupPerformanceByArray +from .protection_group_performance_response import ProtectionGroupPerformanceResponse +from .protection_group_response import ProtectionGroupResponse +from .protection_group_snapshot import ProtectionGroupSnapshot +from .protection_group_snapshot_get_response import ProtectionGroupSnapshotGetResponse +from .protection_group_snapshot_patch import ProtectionGroupSnapshotPatch +from .protection_group_snapshot_post import ProtectionGroupSnapshotPost +from .protection_group_snapshot_replica import ProtectionGroupSnapshotReplica +from .protection_group_snapshot_replica_response import ProtectionGroupSnapshotReplicaResponse +from .protection_group_snapshot_response import ProtectionGroupSnapshotResponse +from .protection_group_snapshot_transfer import ProtectionGroupSnapshotTransfer +from .protection_group_snapshot_transfer_get_response import ProtectionGroupSnapshotTransferGetResponse +from .protection_group_snapshot_transfer_response import ProtectionGroupSnapshotTransferResponse +from .protection_group_space import ProtectionGroupSpace +from .protection_group_target import ProtectionGroupTarget +from .protection_group_target_get_response import ProtectionGroupTargetGetResponse +from .protection_group_target_response import ProtectionGroupTargetResponse +from .protection_groups_volumes import ProtectionGroupsVolumes +from .protection_groups_volumes_get_response import ProtectionGroupsVolumesGetResponse +from .protection_groups_volumes_response import ProtectionGroupsVolumesResponse +from .qos import Qos +from .reference import Reference +from .reference_no_id import ReferenceNoId +from .reference_no_id_with_type import ReferenceNoIdWithType +from .reference_with_type import ReferenceWithType +from .remote_pod import RemotePod +from .remote_pods_response import RemotePodsResponse +from .remote_protection_group import RemoteProtectionGroup +from .remote_protection_group_get_response import RemoteProtectionGroupGetResponse +from .remote_protection_group_response import RemoteProtectionGroupResponse +from .remote_protection_group_snapshot import RemoteProtectionGroupSnapshot +from .remote_protection_group_snapshot_get_response import RemoteProtectionGroupSnapshotGetResponse +from .remote_protection_group_snapshot_post import RemoteProtectionGroupSnapshotPost +from .remote_protection_group_snapshot_response import RemoteProtectionGroupSnapshotResponse +from .remote_protection_group_snapshot_transfer import RemoteProtectionGroupSnapshotTransfer +from .remote_protection_group_snapshot_transfer_get_response import RemoteProtectionGroupSnapshotTransferGetResponse +from .remote_protection_group_snapshot_transfer_response import RemoteProtectionGroupSnapshotTransferResponse +from .remote_volume_snapshot import RemoteVolumeSnapshot +from .remote_volume_snapshot_get_response import RemoteVolumeSnapshotGetResponse +from .remote_volume_snapshot_response import RemoteVolumeSnapshotResponse +from .remote_volume_snapshot_transfer import RemoteVolumeSnapshotTransfer +from .remote_volume_snapshot_transfer_get_response import RemoteVolumeSnapshotTransferGetResponse +from .remote_volume_snapshot_transfer_response import RemoteVolumeSnapshotTransferResponse +from .replica_link_lag import ReplicaLinkLag +from .replica_link_performance_replication import ReplicaLinkPerformanceReplication +from .replication_performance_with_total import ReplicationPerformanceWithTotal +from .replication_schedule import ReplicationSchedule +from .resource import Resource +from .resource_directory_space import ResourceDirectorySpace +from .resource_directory_space_get_response import ResourceDirectorySpaceGetResponse +from .resource_fixed_non_unique_name import ResourceFixedNonUniqueName +from .resource_no_id import ResourceNoId +from .resource_performance import ResourcePerformance +from .resource_performance_by_array import ResourcePerformanceByArray +from .resource_performance_by_array_get_response import ResourcePerformanceByArrayGetResponse +from .resource_performance_get_response import ResourcePerformanceGetResponse +from .resource_performance_no_id import ResourcePerformanceNoId +from .resource_performance_no_id_by_array import ResourcePerformanceNoIdByArray +from .resource_performance_no_id_by_array_get_response import ResourcePerformanceNoIdByArrayGetResponse +from .resource_performance_no_id_get_response import ResourcePerformanceNoIdGetResponse +from .resource_pod_space import ResourcePodSpace +from .resource_pod_space_get_response import ResourcePodSpaceGetResponse +from .resource_space import ResourceSpace +from .resource_space_get_response import ResourceSpaceGetResponse +from .resource_space_no_id import ResourceSpaceNoId +from .resource_space_no_id_get_response import ResourceSpaceNoIdGetResponse +from .retention_policy import RetentionPolicy +from .saml2_sso import Saml2Sso +from .saml2_sso_get_response import Saml2SsoGetResponse +from .saml2_sso_idp import Saml2SsoIdp +from .saml2_sso_patch import Saml2SsoPatch +from .saml2_sso_post import Saml2SsoPost +from .saml2_sso_response import Saml2SsoResponse +from .saml2_sso_sp import Saml2SsoSp +from .saml2_sso_sp_credential import Saml2SsoSpCredential +from .session import Session +from .session_get_response import SessionGetResponse +from .smis import Smis +from .smis_get_response import SmisGetResponse +from .smis_response import SmisResponse +from .smtp_server import SmtpServer +from .smtp_server_get_response import SmtpServerGetResponse +from .smtp_server_response import SmtpServerResponse +from .snapshot import Snapshot +from .snapshot_schedule import SnapshotSchedule +from .snapshot_space import SnapshotSpace +from .snmp_agent import SnmpAgent +from .snmp_agent_get_response import SnmpAgentGetResponse +from .snmp_agent_mib import SnmpAgentMib +from .snmp_agent_mib_get_response import SnmpAgentMibGetResponse +from .snmp_agent_mib_response import SnmpAgentMibResponse +from .snmp_agent_patch import SnmpAgentPatch +from .snmp_agent_response import SnmpAgentResponse +from .snmp_manager import SnmpManager +from .snmp_manager_get_response import SnmpManagerGetResponse +from .snmp_manager_patch import SnmpManagerPatch +from .snmp_manager_post import SnmpManagerPost +from .snmp_manager_response import SnmpManagerResponse +from .snmp_v2c import SnmpV2c +from .snmp_v3 import SnmpV3 +from .snmp_v3_patch import SnmpV3Patch +from .snmp_v3_post import SnmpV3Post +from .software import Software +from .software_bundle import SoftwareBundle +from .software_bundle_get_response import SoftwareBundleGetResponse +from .software_bundle_post import SoftwareBundlePost +from .software_bundle_response import SoftwareBundleResponse +from .software_check import SoftwareCheck +from .software_checks import SoftwareChecks +from .software_checks_checks import SoftwareChecksChecks +from .software_checks_get_response import SoftwareChecksGetResponse +from .software_checks_response import SoftwareChecksResponse +from .software_get_response import SoftwareGetResponse +from .software_installation import SoftwareInstallation +from .software_installation_patch import SoftwareInstallationPatch +from .software_installation_post import SoftwareInstallationPost +from .software_installation_step import SoftwareInstallationStep +from .software_installation_steps import SoftwareInstallationSteps +from .software_installation_steps_checks import SoftwareInstallationStepsChecks +from .software_installation_steps_get_response import SoftwareInstallationStepsGetResponse +from .software_installation_steps_response import SoftwareInstallationStepsResponse +from .software_installations import SoftwareInstallations +from .software_installations_get_response import SoftwareInstallationsGetResponse +from .software_installations_response import SoftwareInstallationsResponse +from .software_patch import SoftwarePatch +from .software_patches import SoftwarePatches +from .software_patches_get_response import SoftwarePatchesGetResponse +from .software_patches_response import SoftwarePatchesResponse +from .software_post import SoftwarePost +from .software_response import SoftwareResponse +from .software_upgrade_plan import SoftwareUpgradePlan +from .software_version import SoftwareVersion +from .software_versions import SoftwareVersions +from .software_versions_get_response import SoftwareVersionsGetResponse +from .software_versions_response import SoftwareVersionsResponse +from .space import Space +from .start_end_time import StartEndTime +from .subnet import Subnet +from .subnet_get_response import SubnetGetResponse +from .subnet_patch import SubnetPatch +from .subnet_post import SubnetPost +from .subnet_response import SubnetResponse +from .subscription import Subscription +from .subscription_asset import SubscriptionAsset +from .subscription_asset_get_response import SubscriptionAssetGetResponse +from .subscription_asset_response import SubscriptionAssetResponse +from .subscription_asset_subscription import SubscriptionAssetSubscription +from .subscription_get_response import SubscriptionGetResponse +from .subscription_response import SubscriptionResponse +from .support import Support +from .support_get_response import SupportGetResponse +from .support_patch import SupportPatch +from .support_remote_assist_paths import SupportRemoteAssistPaths +from .support_response import SupportResponse +from .syslog_server import SyslogServer +from .syslog_server_get_response import SyslogServerGetResponse +from .syslog_server_response import SyslogServerResponse +from .syslog_server_settings import SyslogServerSettings +from .syslog_server_settings_get_response import SyslogServerSettingsGetResponse +from .syslog_server_settings_response import SyslogServerSettingsResponse +from .tag import Tag +from .tag_get_response import TagGetResponse +from .tag_response import TagResponse +from .target_protection_group import TargetProtectionGroup +from .target_protection_group_post_patch import TargetProtectionGroupPostPatch +from .test_result import TestResult +from .test_result_get_response import TestResultGetResponse +from .test_result_response import TestResultResponse +from .test_result_with_resource import TestResultWithResource +from .test_result_with_resource_get_response import TestResultWithResourceGetResponse +from .test_result_with_resource_patch_response import TestResultWithResourcePatchResponse +from .test_result_with_resource_post_response import TestResultWithResourcePostResponse +from .test_result_with_resource_response import TestResultWithResourceResponse +from .test_result_with_resource_with_id import TestResultWithResourceWithId +from .test_result_with_resource_with_id_post_response import TestResultWithResourceWithIdPostResponse +from .throttle import Throttle +from .time_window import TimeWindow +from .total_item_count_response import TotalItemCountResponse +from .transfer import Transfer +from .username import Username +from .username_response import UsernameResponse +from .vchost import Vchost +from .vchost_certificate import VchostCertificate +from .vchost_certificate_get_response import VchostCertificateGetResponse +from .vchost_certificate_patch import VchostCertificatePatch +from .vchost_certificate_post import VchostCertificatePost +from .vchost_certificate_response import VchostCertificateResponse +from .vchost_endpoint import VchostEndpoint +from .vchost_endpoint_get_response import VchostEndpointGetResponse +from .vchost_endpoint_patch import VchostEndpointPatch +from .vchost_endpoint_post import VchostEndpointPost +from .vchost_endpoint_response import VchostEndpointResponse +from .vchost_get_response import VchostGetResponse +from .vchost_patch import VchostPatch +from .vchost_post import VchostPost +from .vchost_response import VchostResponse +from .virtual_machine import VirtualMachine +from .virtual_machine_get_response import VirtualMachineGetResponse +from .virtual_machine_post import VirtualMachinePost +from .virtual_machine_response import VirtualMachineResponse +from .volume import Volume +from .volume_common import VolumeCommon +from .volume_diff import VolumeDiff +from .volume_get_response import VolumeGetResponse +from .volume_group import VolumeGroup +from .volume_group_get_response import VolumeGroupGetResponse +from .volume_group_patch import VolumeGroupPatch +from .volume_group_performance import VolumeGroupPerformance +from .volume_group_post import VolumeGroupPost +from .volume_group_response import VolumeGroupResponse +from .volume_group_space import VolumeGroupSpace +from .volume_patch import VolumePatch +from .volume_performance import VolumePerformance +from .volume_performance_by_array import VolumePerformanceByArray +from .volume_post import VolumePost +from .volume_response import VolumeResponse +from .volume_snapshot import VolumeSnapshot +from .volume_snapshot_get_response import VolumeSnapshotGetResponse +from .volume_snapshot_patch import VolumeSnapshotPatch +from .volume_snapshot_post import VolumeSnapshotPost +from .volume_snapshot_response import VolumeSnapshotResponse +from .volume_snapshot_transfer import VolumeSnapshotTransfer +from .volume_snapshot_transfer_get_response import VolumeSnapshotTransferGetResponse +from .volume_snapshot_transfer_response import VolumeSnapshotTransferResponse +from .volume_space import VolumeSpace +from .volume_space_common import VolumeSpaceCommon +from .volume_space_get_response import VolumeSpaceGetResponse +from .volumes_diff_get_response import VolumesDiffGetResponse +from .volumes_diff_response import VolumesDiffResponse diff --git a/pypureclient/flasharray/FA_2_26/models/active_directory.py b/pypureclient/flasharray/FA_2_26/models/active_directory.py new file mode 100644 index 000000000..4b608d9c8 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/active_directory.py @@ -0,0 +1,159 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class ActiveDirectory(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'name': 'str', + 'computer_name': 'str', + 'directory_servers': 'list[str]', + 'domain': 'str', + 'kerberos_servers': 'list[str]', + 'tls': 'str' + } + + attribute_map = { + 'name': 'name', + 'computer_name': 'computer_name', + 'directory_servers': 'directory_servers', + 'domain': 'domain', + 'kerberos_servers': 'kerberos_servers', + 'tls': 'tls' + } + + required_args = { + } + + def __init__( + self, + name=None, # type: str + computer_name=None, # type: str + directory_servers=None, # type: List[str] + domain=None, # type: str + kerberos_servers=None, # type: List[str] + tls=None, # type: str + ): + """ + Keyword args: + name (str): A locally unique, system-generated name. The name cannot be modified. + computer_name (str): The name of the computer account in the Active Directory domain. + directory_servers (list[str]): A list of directory servers used for lookups related to user authorization. Servers must be specified in FQDN format. All specified servers must be registered to the domain appropriately in the configured DNS of the array and are only communicated with over the secure LDAP (LDAPS) protocol. If this field is `null`, the servers are resolved for the domain in DNS. + domain (str): The Active Directory domain joined. + kerberos_servers (list[str]): A list of key distribution servers to use for Kerberos protocol. Servers must be specified in FQDN format. All specified servers must be registered to the domain appropriately in the configured DNS of the array. If this field is `null`, the servers are resolved for the domain in DNS. + tls (str): TLS mode for communication with domain controllers. Valid values are `required` and `optional`. `required` forces TLS communication with a domain controller. `optional` allows the use of non-TLS communication, TLS will still be preferred, if available. If not specified, defaults to `required`. + """ + if name is not None: + self.name = name + if computer_name is not None: + self.computer_name = computer_name + if directory_servers is not None: + self.directory_servers = directory_servers + if domain is not None: + self.domain = domain + if kerberos_servers is not None: + self.kerberos_servers = kerberos_servers + if tls is not None: + self.tls = tls + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ActiveDirectory`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ActiveDirectory`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ActiveDirectory`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ActiveDirectory`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(ActiveDirectory, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, ActiveDirectory): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/active_directory_get_response.py b/pypureclient/flasharray/FA_2_26/models/active_directory_get_response.py new file mode 100644 index 000000000..626a75ecd --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/active_directory_get_response.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class ActiveDirectoryGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[ActiveDirectory]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.ActiveDirectory] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[ActiveDirectory]): A list of Active Directory computer account configuration objects. + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ActiveDirectoryGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ActiveDirectoryGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ActiveDirectoryGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ActiveDirectoryGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(ActiveDirectoryGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, ActiveDirectoryGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/active_directory_patch.py b/pypureclient/flasharray/FA_2_26/models/active_directory_patch.py new file mode 100644 index 000000000..b87dff259 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/active_directory_patch.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class ActiveDirectoryPatch(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'tls': 'str' + } + + attribute_map = { + 'tls': 'tls' + } + + required_args = { + } + + def __init__( + self, + tls=None, # type: str + ): + """ + Keyword args: + tls (str): TLS mode for communication with domain controllers. Valid values are `required` and `optional`. `required` forces TLS communication with domain controller. `optional` allows the use of non-TLS communication, TLS will still be preferred, if available. If not specified, defaults to `required`. + """ + if tls is not None: + self.tls = tls + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ActiveDirectoryPatch`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ActiveDirectoryPatch`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ActiveDirectoryPatch`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ActiveDirectoryPatch`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(ActiveDirectoryPatch, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, ActiveDirectoryPatch): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/active_directory_post.py b/pypureclient/flasharray/FA_2_26/models/active_directory_post.py new file mode 100644 index 000000000..12e616bfa --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/active_directory_post.py @@ -0,0 +1,171 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class ActiveDirectoryPost(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'computer_name': 'str', + 'directory_servers': 'list[str]', + 'domain': 'str', + 'kerberos_servers': 'list[str]', + 'password': 'str', + 'user': 'str', + 'join_ou': 'str', + 'tls': 'str' + } + + attribute_map = { + 'computer_name': 'computer_name', + 'directory_servers': 'directory_servers', + 'domain': 'domain', + 'kerberos_servers': 'kerberos_servers', + 'password': 'password', + 'user': 'user', + 'join_ou': 'join_ou', + 'tls': 'tls' + } + + required_args = { + } + + def __init__( + self, + computer_name=None, # type: str + directory_servers=None, # type: List[str] + domain=None, # type: str + kerberos_servers=None, # type: List[str] + password=None, # type: str + user=None, # type: str + join_ou=None, # type: str + tls=None, # type: str + ): + """ + Keyword args: + computer_name (str): The name of the computer account to be created in the Active Directory domain. If not specified, defaults to the name of the Active Directory configuration. + directory_servers (list[str]): A list of directory servers used for lookups related to user authorization. Servers must be specified in FQDN format. All specified servers must be registered to the domain appropriately in the configured DNS of the array and are only communicated with over the secure LDAP (LDAPS) protocol. If not specified, servers are resolved for the domain in DNS. + domain (str): The Active Directory domain to join. + kerberos_servers (list[str]): A list of key distribution servers to use for Kerberos protocol. Servers must be specified in FQDN format. All specified servers must be registered to the domain appropriately in the configured DNS of the array. If not specified, servers are resolved for the domain in DNS. + password (str): The login password of the user with privileges to create the computer account in the domain. This is not persisted on the array. + user (str): The login name of the user with privileges to create the computer account in the domain. This is not persisted on the array. + join_ou (str): The distinguished name of the organizational unit in which the computer account should be created when joining the domain. The `DC=...` components of the distinguished name can be optionally omitted. If not specified, defaults to `CN=Computers`. + tls (str): TLS mode for communication with domain controllers. Valid values are `required` and `optional`. `required` forces TLS communication with a domain controller. `optional` allows the use of non-TLS communication, TLS will still be preferred, if available. If not specified, defaults to `required`. + """ + if computer_name is not None: + self.computer_name = computer_name + if directory_servers is not None: + self.directory_servers = directory_servers + if domain is not None: + self.domain = domain + if kerberos_servers is not None: + self.kerberos_servers = kerberos_servers + if password is not None: + self.password = password + if user is not None: + self.user = user + if join_ou is not None: + self.join_ou = join_ou + if tls is not None: + self.tls = tls + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ActiveDirectoryPost`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ActiveDirectoryPost`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ActiveDirectoryPost`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ActiveDirectoryPost`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(ActiveDirectoryPost, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, ActiveDirectoryPost): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/active_directory_response.py b/pypureclient/flasharray/FA_2_26/models/active_directory_response.py new file mode 100644 index 000000000..4de5affab --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/active_directory_response.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class ActiveDirectoryResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'items': 'list[ActiveDirectory]' + } + + attribute_map = { + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + items=None, # type: List[models.ActiveDirectory] + ): + """ + Keyword args: + items (list[ActiveDirectory]): A list of Active Directory computer account configuration objects. + """ + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ActiveDirectoryResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ActiveDirectoryResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ActiveDirectoryResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ActiveDirectoryResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(ActiveDirectoryResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, ActiveDirectoryResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/admin.py b/pypureclient/flasharray/FA_2_26/models/admin.py new file mode 100644 index 000000000..4b4c3a922 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/admin.py @@ -0,0 +1,171 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class Admin(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'name': 'str', + 'api_token': 'ApiToken', + 'is_local': 'bool', + 'locked': 'bool', + 'lockout_remaining': 'int', + 'password': 'str', + 'public_key': 'str', + 'role': 'AdminRole' + } + + attribute_map = { + 'name': 'name', + 'api_token': 'api_token', + 'is_local': 'is_local', + 'locked': 'locked', + 'lockout_remaining': 'lockout_remaining', + 'password': 'password', + 'public_key': 'public_key', + 'role': 'role' + } + + required_args = { + } + + def __init__( + self, + name=None, # type: str + api_token=None, # type: models.ApiToken + is_local=None, # type: bool + locked=None, # type: bool + lockout_remaining=None, # type: int + password=None, # type: str + public_key=None, # type: str + role=None, # type: models.AdminRole + ): + """ + Keyword args: + name (str): A user-specified name. The name must be locally unique and cannot be changed. + api_token (ApiToken) + is_local (bool): Returns a value of `true` if the user is local to the machine, otherwise `false`. + locked (bool): Returns a value of `true` if the user is currently locked out, otherwise `false`. Can be patched to `false` to unlock a user. This field is only visible to `array_admin` roles. For all other users, the value is always `null`. + lockout_remaining (int): The remaining lockout period, in milliseconds, if the user is locked out. This field is only visible to `array_admin` roles. For all other users, the value is always `null`. + password (str): Password associated with the account. + public_key (str): Public key for SSH access. + role (AdminRole) + """ + if name is not None: + self.name = name + if api_token is not None: + self.api_token = api_token + if is_local is not None: + self.is_local = is_local + if locked is not None: + self.locked = locked + if lockout_remaining is not None: + self.lockout_remaining = lockout_remaining + if password is not None: + self.password = password + if public_key is not None: + self.public_key = public_key + if role is not None: + self.role = role + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Admin`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Admin`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Admin`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Admin`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(Admin, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, Admin): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/admin_api_token.py b/pypureclient/flasharray/FA_2_26/models/admin_api_token.py new file mode 100644 index 000000000..98657ff92 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/admin_api_token.py @@ -0,0 +1,135 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class AdminApiToken(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'name': 'str', + 'api_token': 'ApiToken' + } + + attribute_map = { + 'name': 'name', + 'api_token': 'api_token' + } + + required_args = { + } + + def __init__( + self, + name=None, # type: str + api_token=None, # type: models.ApiToken + ): + """ + Keyword args: + name (str): A user-specified name. The name must be locally unique and cannot be changed. + api_token (ApiToken) + """ + if name is not None: + self.name = name + if api_token is not None: + self.api_token = api_token + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AdminApiToken`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AdminApiToken`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AdminApiToken`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AdminApiToken`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(AdminApiToken, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, AdminApiToken): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/admin_api_token_get_response.py b/pypureclient/flasharray/FA_2_26/models/admin_api_token_get_response.py new file mode 100644 index 000000000..230fd1e1b --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/admin_api_token_get_response.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class AdminApiTokenGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[AdminApiToken]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.AdminApiToken] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[AdminApiToken]) + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AdminApiTokenGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AdminApiTokenGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AdminApiTokenGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AdminApiTokenGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(AdminApiTokenGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, AdminApiTokenGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/admin_api_token_response.py b/pypureclient/flasharray/FA_2_26/models/admin_api_token_response.py new file mode 100644 index 000000000..626849c0a --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/admin_api_token_response.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class AdminApiTokenResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'items': 'list[AdminApiToken]' + } + + attribute_map = { + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + items=None, # type: List[models.AdminApiToken] + ): + """ + Keyword args: + items (list[AdminApiToken]) + """ + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AdminApiTokenResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AdminApiTokenResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AdminApiTokenResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AdminApiTokenResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(AdminApiTokenResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, AdminApiTokenResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/admin_cache.py b/pypureclient/flasharray/FA_2_26/models/admin_cache.py new file mode 100644 index 000000000..1e8e62d3f --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/admin_cache.py @@ -0,0 +1,141 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class AdminCache(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'name': 'str', + 'cached_at': 'int', + 'role': 'AdminRole' + } + + attribute_map = { + 'name': 'name', + 'cached_at': 'cached_at', + 'role': 'role' + } + + required_args = { + } + + def __init__( + self, + name=None, # type: str + cached_at=None, # type: int + role=None, # type: models.AdminRole + ): + """ + Keyword args: + name (str): A user-specified name. The name must be locally unique and cannot be changed. + cached_at (int): Time when the entry was added to the cache, in milliseconds since the UNIX epoch. + role (AdminRole) + """ + if name is not None: + self.name = name + if cached_at is not None: + self.cached_at = cached_at + if role is not None: + self.role = role + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AdminCache`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AdminCache`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AdminCache`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AdminCache`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(AdminCache, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, AdminCache): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/admin_cache_get_response.py b/pypureclient/flasharray/FA_2_26/models/admin_cache_get_response.py new file mode 100644 index 000000000..6e7d8e9d0 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/admin_cache_get_response.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class AdminCacheGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[AdminCache]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.AdminCache] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[AdminCache]) + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AdminCacheGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AdminCacheGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AdminCacheGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AdminCacheGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(AdminCacheGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, AdminCacheGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/admin_cache_response.py b/pypureclient/flasharray/FA_2_26/models/admin_cache_response.py new file mode 100644 index 000000000..3b1be37ae --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/admin_cache_response.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class AdminCacheResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'items': 'list[AdminCache]' + } + + attribute_map = { + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + items=None, # type: List[models.AdminCache] + ): + """ + Keyword args: + items (list[AdminCache]) + """ + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AdminCacheResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AdminCacheResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AdminCacheResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AdminCacheResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(AdminCacheResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, AdminCacheResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/admin_get_response.py b/pypureclient/flasharray/FA_2_26/models/admin_get_response.py new file mode 100644 index 000000000..f25a261e7 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/admin_get_response.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class AdminGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[Admin]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.Admin] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[Admin]) + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AdminGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AdminGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AdminGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AdminGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(AdminGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, AdminGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/admin_patch.py b/pypureclient/flasharray/FA_2_26/models/admin_patch.py new file mode 100644 index 000000000..4c110c5df --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/admin_patch.py @@ -0,0 +1,177 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class AdminPatch(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'name': 'str', + 'api_token': 'ApiToken', + 'is_local': 'bool', + 'locked': 'bool', + 'lockout_remaining': 'int', + 'password': 'str', + 'public_key': 'str', + 'role': 'AdminRole', + 'old_password': 'str' + } + + attribute_map = { + 'name': 'name', + 'api_token': 'api_token', + 'is_local': 'is_local', + 'locked': 'locked', + 'lockout_remaining': 'lockout_remaining', + 'password': 'password', + 'public_key': 'public_key', + 'role': 'role', + 'old_password': 'old_password' + } + + required_args = { + } + + def __init__( + self, + name=None, # type: str + api_token=None, # type: models.ApiToken + is_local=None, # type: bool + locked=None, # type: bool + lockout_remaining=None, # type: int + password=None, # type: str + public_key=None, # type: str + role=None, # type: models.AdminRole + old_password=None, # type: str + ): + """ + Keyword args: + name (str): A user-specified name. The name must be locally unique and cannot be changed. + api_token (ApiToken) + is_local (bool): Returns a value of `true` if the user is local to the machine, otherwise `false`. + locked (bool): Returns a value of `true` if the user is currently locked out, otherwise `false`. Can be patched to `false` to unlock a user. This field is only visible to `array_admin` roles. For all other users, the value is always `null`. + lockout_remaining (int): The remaining lockout period, in milliseconds, if the user is locked out. This field is only visible to `array_admin` roles. For all other users, the value is always `null`. + password (str): Password associated with the account. + public_key (str): Public key for SSH access. + role (AdminRole) + old_password (str): The current password. + """ + if name is not None: + self.name = name + if api_token is not None: + self.api_token = api_token + if is_local is not None: + self.is_local = is_local + if locked is not None: + self.locked = locked + if lockout_remaining is not None: + self.lockout_remaining = lockout_remaining + if password is not None: + self.password = password + if public_key is not None: + self.public_key = public_key + if role is not None: + self.role = role + if old_password is not None: + self.old_password = old_password + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AdminPatch`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AdminPatch`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AdminPatch`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AdminPatch`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(AdminPatch, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, AdminPatch): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/admin_post.py b/pypureclient/flasharray/FA_2_26/models/admin_post.py new file mode 100644 index 000000000..33cd597cc --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/admin_post.py @@ -0,0 +1,135 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class AdminPost(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'password': 'str', + 'role': 'AdminRole' + } + + attribute_map = { + 'password': 'password', + 'role': 'role' + } + + required_args = { + } + + def __init__( + self, + password=None, # type: str + role=None, # type: models.AdminRole + ): + """ + Keyword args: + password (str): Password associated with the account. + role (AdminRole) + """ + if password is not None: + self.password = password + if role is not None: + self.role = role + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AdminPost`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AdminPost`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AdminPost`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AdminPost`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(AdminPost, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, AdminPost): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/admin_response.py b/pypureclient/flasharray/FA_2_26/models/admin_response.py new file mode 100644 index 000000000..8c17f1f24 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/admin_response.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class AdminResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'items': 'list[Admin]' + } + + attribute_map = { + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + items=None, # type: List[models.Admin] + ): + """ + Keyword args: + items (list[Admin]) + """ + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AdminResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AdminResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AdminResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AdminResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(AdminResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, AdminResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/admin_role.py b/pypureclient/flasharray/FA_2_26/models/admin_role.py new file mode 100644 index 000000000..e536e32cb --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/admin_role.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class AdminRole(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'name': 'str' + } + + attribute_map = { + 'name': 'name' + } + + required_args = { + } + + def __init__( + self, + name=None, # type: str + ): + """ + Keyword args: + name (str): The resource name, such as volume name, pod name, snapshot name, and so on. + """ + if name is not None: + self.name = name + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AdminRole`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AdminRole`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AdminRole`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AdminRole`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(AdminRole, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, AdminRole): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/admin_settings.py b/pypureclient/flasharray/FA_2_26/models/admin_settings.py new file mode 100644 index 000000000..5e906d423 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/admin_settings.py @@ -0,0 +1,157 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class AdminSettings(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'lockout_duration': 'int', + 'max_login_attempts': 'int', + 'min_password_length': 'int', + 'single_sign_on_enabled': 'bool' + } + + attribute_map = { + 'lockout_duration': 'lockout_duration', + 'max_login_attempts': 'max_login_attempts', + 'min_password_length': 'min_password_length', + 'single_sign_on_enabled': 'single_sign_on_enabled' + } + + required_args = { + } + + def __init__( + self, + lockout_duration=None, # type: int + max_login_attempts=None, # type: int + min_password_length=None, # type: int + single_sign_on_enabled=None, # type: bool + ): + """ + Keyword args: + lockout_duration (int): The lockout duration, in milliseconds, if a user is locked out after reaching the maximum number of login attempts. Ranges from 1 second to 90 days. + max_login_attempts (int): Maximum number of failed login attempts allowed before the user is locked out. + min_password_length (int): Minimum password length. If not specified, defaults to 1. + single_sign_on_enabled (bool): If `true`, then single sign-on is enabled for the array. + """ + if lockout_duration is not None: + self.lockout_duration = lockout_duration + if max_login_attempts is not None: + self.max_login_attempts = max_login_attempts + if min_password_length is not None: + self.min_password_length = min_password_length + if single_sign_on_enabled is not None: + self.single_sign_on_enabled = single_sign_on_enabled + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AdminSettings`".format(key)) + if key == "lockout_duration" and value is not None: + if value > 7776000000: + raise ValueError("Invalid value for `lockout_duration`, value must be less than or equal to `7776000000`") + if value < 1000: + raise ValueError("Invalid value for `lockout_duration`, must be a value greater than or equal to `1000`") + if key == "max_login_attempts" and value is not None: + if value > 20: + raise ValueError("Invalid value for `max_login_attempts`, value must be less than or equal to `20`") + if value < 1: + raise ValueError("Invalid value for `max_login_attempts`, must be a value greater than or equal to `1`") + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AdminSettings`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AdminSettings`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AdminSettings`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(AdminSettings, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, AdminSettings): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/admin_settings_response.py b/pypureclient/flasharray/FA_2_26/models/admin_settings_response.py new file mode 100644 index 000000000..85d55b997 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/admin_settings_response.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class AdminSettingsResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'items': 'list[AdminSettings]' + } + + attribute_map = { + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + items=None, # type: List[models.AdminSettings] + ): + """ + Keyword args: + items (list[AdminSettings]) + """ + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AdminSettingsResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AdminSettingsResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AdminSettingsResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AdminSettingsResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(AdminSettingsResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, AdminSettingsResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/aggregate_replication_performance.py b/pypureclient/flasharray/FA_2_26/models/aggregate_replication_performance.py new file mode 100644 index 000000000..e07b57643 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/aggregate_replication_performance.py @@ -0,0 +1,132 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class AggregateReplicationPerformance(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'bytes_per_sec': 'int' + } + + attribute_map = { + 'bytes_per_sec': 'bytes_per_sec' + } + + required_args = { + } + + def __init__( + self, + bytes_per_sec=None, # type: int + ): + """ + Keyword args: + bytes_per_sec (int): The total number of bytes of replication data transmitted and received per second. + """ + if bytes_per_sec is not None: + self.bytes_per_sec = bytes_per_sec + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AggregateReplicationPerformance`".format(key)) + if key == "bytes_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `bytes_per_sec`, must be a value greater than or equal to `0`") + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AggregateReplicationPerformance`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AggregateReplicationPerformance`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AggregateReplicationPerformance`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(AggregateReplicationPerformance, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, AggregateReplicationPerformance): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/alert.py b/pypureclient/flasharray/FA_2_26/models/alert.py new file mode 100644 index 000000000..5ca8ead3e --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/alert.py @@ -0,0 +1,237 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class Alert(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'id': 'str', + 'name': 'str', + 'actual': 'str', + 'category': 'str', + 'closed': 'int', + 'code': 'int', + 'component_name': 'str', + 'component_type': 'str', + 'created': 'int', + 'description': 'str', + 'expected': 'str', + 'flagged': 'bool', + 'issue': 'str', + 'knowledge_base_url': 'str', + 'notified': 'int', + 'severity': 'str', + 'state': 'str', + 'summary': 'str', + 'updated': 'int' + } + + attribute_map = { + 'id': 'id', + 'name': 'name', + 'actual': 'actual', + 'category': 'category', + 'closed': 'closed', + 'code': 'code', + 'component_name': 'component_name', + 'component_type': 'component_type', + 'created': 'created', + 'description': 'description', + 'expected': 'expected', + 'flagged': 'flagged', + 'issue': 'issue', + 'knowledge_base_url': 'knowledge_base_url', + 'notified': 'notified', + 'severity': 'severity', + 'state': 'state', + 'summary': 'summary', + 'updated': 'updated' + } + + required_args = { + } + + def __init__( + self, + id=None, # type: str + name=None, # type: str + actual=None, # type: str + category=None, # type: str + closed=None, # type: int + code=None, # type: int + component_name=None, # type: str + component_type=None, # type: str + created=None, # type: int + description=None, # type: str + expected=None, # type: str + flagged=None, # type: bool + issue=None, # type: str + knowledge_base_url=None, # type: str + notified=None, # type: int + severity=None, # type: str + state=None, # type: str + summary=None, # type: str + updated=None, # type: int + ): + """ + Keyword args: + id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. + name (str): A locally unique, system-generated name. The name cannot be modified. + actual (str): Actual condition at the time the alert is created. + category (str): The category of the alert. Valid values include `array`, `hardware` and `software`. + closed (int): The time the alert was closed in milliseconds since the UNIX epoch. + code (int): The code number of the alert. + component_name (str): The name of the component that generated the alert. + component_type (str): The type of component that generated the alert. + created (int): The time the alert was created in milliseconds since the UNIX epoch. + description (str): A short description of the alert. + expected (str): Expected state or threshold under normal conditions. + flagged (bool): If set to `true`, the message is flagged. Important messages can can be flagged and listed separately. + issue (str): Information about the alert cause. + knowledge_base_url (str): The URL of the relevant knowledge base page. + notified (int): The time the most recent alert notification was sent in milliseconds since the UNIX epoch. + severity (str): The severity level of the alert. Valid values include `info`, `warning`, `critical`, and `hidden`. + state (str): The current state of the alert. Valid values include `open`, `closing`, and `closed`. + summary (str): A summary of the alert. + updated (int): The time the alert was last updated in milliseconds since the UNIX epoch. + """ + if id is not None: + self.id = id + if name is not None: + self.name = name + if actual is not None: + self.actual = actual + if category is not None: + self.category = category + if closed is not None: + self.closed = closed + if code is not None: + self.code = code + if component_name is not None: + self.component_name = component_name + if component_type is not None: + self.component_type = component_type + if created is not None: + self.created = created + if description is not None: + self.description = description + if expected is not None: + self.expected = expected + if flagged is not None: + self.flagged = flagged + if issue is not None: + self.issue = issue + if knowledge_base_url is not None: + self.knowledge_base_url = knowledge_base_url + if notified is not None: + self.notified = notified + if severity is not None: + self.severity = severity + if state is not None: + self.state = state + if summary is not None: + self.summary = summary + if updated is not None: + self.updated = updated + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Alert`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Alert`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Alert`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Alert`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(Alert, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, Alert): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/alert_event.py b/pypureclient/flasharray/FA_2_26/models/alert_event.py new file mode 100644 index 000000000..fbbee7281 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/alert_event.py @@ -0,0 +1,207 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class AlertEvent(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'name': 'str', + 'actual': 'str', + 'alert': 'FixedReference', + 'code': 'int', + 'component_name': 'str', + 'component_type': 'str', + 'created': 'int', + 'expected': 'str', + 'issue': 'str', + 'knowledge_base_url': 'str', + 'severity': 'str', + 'state': 'str', + 'summary': 'str', + 'time': 'int' + } + + attribute_map = { + 'name': 'name', + 'actual': 'actual', + 'alert': 'alert', + 'code': 'code', + 'component_name': 'component_name', + 'component_type': 'component_type', + 'created': 'created', + 'expected': 'expected', + 'issue': 'issue', + 'knowledge_base_url': 'knowledge_base_url', + 'severity': 'severity', + 'state': 'state', + 'summary': 'summary', + 'time': 'time' + } + + required_args = { + } + + def __init__( + self, + name=None, # type: str + actual=None, # type: str + alert=None, # type: models.FixedReference + code=None, # type: int + component_name=None, # type: str + component_type=None, # type: str + created=None, # type: int + expected=None, # type: str + issue=None, # type: str + knowledge_base_url=None, # type: str + severity=None, # type: str + state=None, # type: str + summary=None, # type: str + time=None, # type: int + ): + """ + Keyword args: + name (str): A locally unique, system-generated name. The name cannot be modified. + actual (str): Actual condition at the time the alert is created. + alert (FixedReference) + code (int): The parent alert number. + component_name (str): The component type of the alert. + component_type (str): The component name of the alert. + created (int): The time the parent alert was created. + expected (str): Expected state and threshold under normal conditions. + issue (str): Information about the alert cause. + knowledge_base_url (str): The knowledge base URL of the alert. + severity (str): The severity level of the alert. Valid values include `info`, `warning`, `critical`, and `hidden`. + state (str): The state of the alert. Valid values include `open`, `closing`, and `closed`. + summary (str): A summary of the alert. + time (int): The time the event occurred. + """ + if name is not None: + self.name = name + if actual is not None: + self.actual = actual + if alert is not None: + self.alert = alert + if code is not None: + self.code = code + if component_name is not None: + self.component_name = component_name + if component_type is not None: + self.component_type = component_type + if created is not None: + self.created = created + if expected is not None: + self.expected = expected + if issue is not None: + self.issue = issue + if knowledge_base_url is not None: + self.knowledge_base_url = knowledge_base_url + if severity is not None: + self.severity = severity + if state is not None: + self.state = state + if summary is not None: + self.summary = summary + if time is not None: + self.time = time + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AlertEvent`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AlertEvent`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AlertEvent`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AlertEvent`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(AlertEvent, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, AlertEvent): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/alert_event_get_response.py b/pypureclient/flasharray/FA_2_26/models/alert_event_get_response.py new file mode 100644 index 000000000..e05bde513 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/alert_event_get_response.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class AlertEventGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[AlertEvent]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.AlertEvent] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[AlertEvent]) + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AlertEventGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AlertEventGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AlertEventGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AlertEventGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(AlertEventGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, AlertEventGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/alert_event_response.py b/pypureclient/flasharray/FA_2_26/models/alert_event_response.py new file mode 100644 index 000000000..60a20f791 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/alert_event_response.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class AlertEventResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'items': 'list[AlertEvent]' + } + + attribute_map = { + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + items=None, # type: List[models.AlertEvent] + ): + """ + Keyword args: + items (list[AlertEvent]) + """ + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AlertEventResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AlertEventResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AlertEventResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AlertEventResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(AlertEventResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, AlertEventResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/alert_get_response.py b/pypureclient/flasharray/FA_2_26/models/alert_get_response.py new file mode 100644 index 000000000..2643632f7 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/alert_get_response.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class AlertGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[Alert]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.Alert] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[Alert]) + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AlertGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AlertGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AlertGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AlertGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(AlertGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, AlertGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/alert_response.py b/pypureclient/flasharray/FA_2_26/models/alert_response.py new file mode 100644 index 000000000..01992b256 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/alert_response.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class AlertResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'items': 'list[Alert]' + } + + attribute_map = { + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + items=None, # type: List[models.Alert] + ): + """ + Keyword args: + items (list[Alert]) + """ + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AlertResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AlertResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AlertResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AlertResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(AlertResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, AlertResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/alert_rules.py b/pypureclient/flasharray/FA_2_26/models/alert_rules.py new file mode 100644 index 000000000..f86c747f7 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/alert_rules.py @@ -0,0 +1,141 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class AlertRules(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'code': 'int', + 'parameter': 'str', + 'value': 'str' + } + + attribute_map = { + 'code': 'code', + 'parameter': 'parameter', + 'value': 'value' + } + + required_args = { + } + + def __init__( + self, + code=None, # type: int + parameter=None, # type: str + value=None, # type: str + ): + """ + Keyword args: + code (int): The alert code that the rule applies to. Available alert codes for customization can be found in the alert rules catalog. + parameter (str): The parameter of the custom alert rule to modify. Values include `info` and `warning`. Available parameter values can be found in the alert rules catalog. + value (str): The value to use for the custom alert rule. Valid values for an alert code and parameter combination can be found in the alert rules catalog. + """ + if code is not None: + self.code = code + if parameter is not None: + self.parameter = parameter + if value is not None: + self.value = value + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AlertRules`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AlertRules`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AlertRules`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AlertRules`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(AlertRules, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, AlertRules): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/alert_rules_catalog.py b/pypureclient/flasharray/FA_2_26/models/alert_rules_catalog.py new file mode 100644 index 000000000..d5e841e52 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/alert_rules_catalog.py @@ -0,0 +1,153 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class AlertRulesCatalog(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'code': 'int', + 'subject': 'str', + 'parameter': 'str', + 'allowed_values': 'str', + 'default_value': 'int' + } + + attribute_map = { + 'code': 'code', + 'subject': 'subject', + 'parameter': 'parameter', + 'allowed_values': 'allowed_values', + 'default_value': 'default_value' + } + + required_args = { + } + + def __init__( + self, + code=None, # type: int + subject=None, # type: str + parameter=None, # type: str + allowed_values=None, # type: str + default_value=None, # type: int + ): + """ + Keyword args: + code (int): The alert code that the rule applies to. + subject (str): The alert code description. + parameter (str): The parameter of the custom alert rule. + allowed_values (str): The range of values allowed to set the custom alert rule to. + default_value (int): The system default values for the alert code and parameter. + """ + if code is not None: + self.code = code + if subject is not None: + self.subject = subject + if parameter is not None: + self.parameter = parameter + if allowed_values is not None: + self.allowed_values = allowed_values + if default_value is not None: + self.default_value = default_value + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AlertRulesCatalog`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AlertRulesCatalog`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AlertRulesCatalog`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AlertRulesCatalog`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(AlertRulesCatalog, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, AlertRulesCatalog): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/alert_rules_catalog_get_response.py b/pypureclient/flasharray/FA_2_26/models/alert_rules_catalog_get_response.py new file mode 100644 index 000000000..c3ae3e3f1 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/alert_rules_catalog_get_response.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class AlertRulesCatalogGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[AlertRulesCatalog]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.AlertRulesCatalog] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[AlertRulesCatalog]) + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AlertRulesCatalogGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AlertRulesCatalogGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AlertRulesCatalogGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AlertRulesCatalogGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(AlertRulesCatalogGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, AlertRulesCatalogGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/alert_rules_catalog_response.py b/pypureclient/flasharray/FA_2_26/models/alert_rules_catalog_response.py new file mode 100644 index 000000000..99a62228f --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/alert_rules_catalog_response.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class AlertRulesCatalogResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'items': 'list[AlertRulesCatalog]' + } + + attribute_map = { + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + items=None, # type: List[models.AlertRulesCatalog] + ): + """ + Keyword args: + items (list[AlertRulesCatalog]) + """ + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AlertRulesCatalogResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AlertRulesCatalogResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AlertRulesCatalogResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AlertRulesCatalogResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(AlertRulesCatalogResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, AlertRulesCatalogResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/alert_rules_get_response.py b/pypureclient/flasharray/FA_2_26/models/alert_rules_get_response.py new file mode 100644 index 000000000..646ede6dd --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/alert_rules_get_response.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class AlertRulesGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[AlertRules]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.AlertRules] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[AlertRules]) + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AlertRulesGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AlertRulesGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AlertRulesGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AlertRulesGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(AlertRulesGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, AlertRulesGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/alert_rules_response.py b/pypureclient/flasharray/FA_2_26/models/alert_rules_response.py new file mode 100644 index 000000000..9e8e2ee9d --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/alert_rules_response.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class AlertRulesResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'items': 'list[AlertRules]' + } + + attribute_map = { + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + items=None, # type: List[models.AlertRules] + ): + """ + Keyword args: + items (list[AlertRules]) + """ + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AlertRulesResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AlertRulesResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AlertRulesResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AlertRulesResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(AlertRulesResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, AlertRulesResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/alert_watcher.py b/pypureclient/flasharray/FA_2_26/models/alert_watcher.py new file mode 100644 index 000000000..c65f75cce --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/alert_watcher.py @@ -0,0 +1,135 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class AlertWatcher(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'name': 'str', + 'enabled': 'bool' + } + + attribute_map = { + 'name': 'name', + 'enabled': 'enabled' + } + + required_args = { + } + + def __init__( + self, + name=None, # type: str + enabled=None, # type: bool + ): + """ + Keyword args: + name (str): A locally unique, system-generated name. The name cannot be modified. + enabled (bool): If set to `true`, email notifications will be sent to this watcher for alerts. If set to `false`, email notification is disabled. + """ + if name is not None: + self.name = name + if enabled is not None: + self.enabled = enabled + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AlertWatcher`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AlertWatcher`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AlertWatcher`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AlertWatcher`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(AlertWatcher, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, AlertWatcher): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/alert_watcher_get_response.py b/pypureclient/flasharray/FA_2_26/models/alert_watcher_get_response.py new file mode 100644 index 000000000..563cdc030 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/alert_watcher_get_response.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class AlertWatcherGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[AlertWatcher]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.AlertWatcher] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[AlertWatcher]): A list of alert watcher objects. + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AlertWatcherGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AlertWatcherGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AlertWatcherGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AlertWatcherGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(AlertWatcherGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, AlertWatcherGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/alert_watcher_patch.py b/pypureclient/flasharray/FA_2_26/models/alert_watcher_patch.py new file mode 100644 index 000000000..e834a8e6a --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/alert_watcher_patch.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class AlertWatcherPatch(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'enabled': 'bool' + } + + attribute_map = { + 'enabled': 'enabled' + } + + required_args = { + } + + def __init__( + self, + enabled=None, # type: bool + ): + """ + Keyword args: + enabled (bool): If set to `true`, email notifications will be sent to this watcher for alerts. If set to `false`, email notifications are disabled. + """ + if enabled is not None: + self.enabled = enabled + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AlertWatcherPatch`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AlertWatcherPatch`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AlertWatcherPatch`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AlertWatcherPatch`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(AlertWatcherPatch, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, AlertWatcherPatch): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/alert_watcher_post.py b/pypureclient/flasharray/FA_2_26/models/alert_watcher_post.py new file mode 100644 index 000000000..9db554909 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/alert_watcher_post.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class AlertWatcherPost(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'enabled': 'bool' + } + + attribute_map = { + 'enabled': 'enabled' + } + + required_args = { + } + + def __init__( + self, + enabled=None, # type: bool + ): + """ + Keyword args: + enabled (bool): If set to `true`, email notifications will be sent to this watcher for alerts. If set to `false`, email notifications are disabled. If not specified, defaults to `true`. + """ + if enabled is not None: + self.enabled = enabled + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AlertWatcherPost`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AlertWatcherPost`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AlertWatcherPost`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AlertWatcherPost`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(AlertWatcherPost, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, AlertWatcherPost): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/alert_watcher_response.py b/pypureclient/flasharray/FA_2_26/models/alert_watcher_response.py new file mode 100644 index 000000000..5854f30be --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/alert_watcher_response.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class AlertWatcherResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'items': 'list[AlertWatcher]' + } + + attribute_map = { + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + items=None, # type: List[models.AlertWatcher] + ): + """ + Keyword args: + items (list[AlertWatcher]): A list of alert watcher objects. + """ + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AlertWatcherResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AlertWatcherResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AlertWatcherResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AlertWatcherResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(AlertWatcherResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, AlertWatcherResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/api_client.py b/pypureclient/flasharray/FA_2_26/models/api_client.py new file mode 100644 index 000000000..2a58204cf --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/api_client.py @@ -0,0 +1,171 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class ApiClient(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'id': 'str', + 'name': 'str', + 'max_role': 'str', + 'issuer': 'str', + 'public_key': 'str', + 'key_id': 'str', + 'enabled': 'bool', + 'access_token_ttl_in_ms': 'int' + } + + attribute_map = { + 'id': 'id', + 'name': 'name', + 'max_role': 'max_role', + 'issuer': 'issuer', + 'public_key': 'public_key', + 'key_id': 'key_id', + 'enabled': 'enabled', + 'access_token_ttl_in_ms': 'access_token_ttl_in_ms' + } + + required_args = { + } + + def __init__( + self, + id=None, # type: str + name=None, # type: str + max_role=None, # type: str + issuer=None, # type: str + public_key=None, # type: str + key_id=None, # type: str + enabled=None, # type: bool + access_token_ttl_in_ms=None, # type: int + ): + """ + Keyword args: + id (str): The unique identifier for the associated API client. The ID represents the JWT `aud` (audience) claim in ID Tokens issued for this API client. + name (str): The API client name. + max_role (str): The maximum role allowed for ID Tokens issued by this API client. The bearer of an access token will be authorized to perform actions within the intersection of this `max_role` and the role of the array user specified as the JWT `sub` (subject) claim. Valid `max_role` values are `readonly`, `ops_admin`, `array_admin`, and `storage_admin`. Users with the `readonly` (Read Only) role can perform operations that convey the state of the array. Read Only users cannot alter the state of the array. Users with the `ops_admin` (Ops Admin) role can perform the same operations as Read Only users plus enable and disable remote assistance sessions. Ops Admin users cannot alter the state of the array. Users with the `storage_admin` (Storage Admin) role can perform the same operations as Read Only users plus storage related operations, such as administering volumes, hosts, and host groups. Storage Admin users cannot perform operations that deal with global and system configurations. Users with the `array_admin` (Array Admin) role can perform the same operations as Storage Admin users plus array-wide changes dealing with global and system configurations. In other words, Array Admin users can perform all operations. + issuer (str): The name of the identity provider that will be issuing ID Tokens for this API client. This string represents the JWT `iss` (issuer) claim in ID Tokens issued for this API client. + public_key (str): The API client's PEM formatted (Base64 encoded) RSA public key. + key_id (str): The unique identifier for the associated public key of this API client. This string must match the JWT `kid` (key ID) claim in ID Tokens issued for this API client. + enabled (bool): If `true`, the API client is permitted to exchange ID Tokens for access tokens. API clients are disabled by default. + access_token_ttl_in_ms (int): The requested TTL (Time To Live) length of time for the exchanged access token. Measured in milliseconds. + """ + if id is not None: + self.id = id + if name is not None: + self.name = name + if max_role is not None: + self.max_role = max_role + if issuer is not None: + self.issuer = issuer + if public_key is not None: + self.public_key = public_key + if key_id is not None: + self.key_id = key_id + if enabled is not None: + self.enabled = enabled + if access_token_ttl_in_ms is not None: + self.access_token_ttl_in_ms = access_token_ttl_in_ms + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ApiClient`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ApiClient`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ApiClient`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ApiClient`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(ApiClient, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, ApiClient): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/api_client_get_response.py b/pypureclient/flasharray/FA_2_26/models/api_client_get_response.py new file mode 100644 index 000000000..6e18ae548 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/api_client_get_response.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class ApiClientGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[ApiClient]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.ApiClient] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[ApiClient]): Returns a list of all items after filtering. The values are displayed for each name where meaningful. + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ApiClientGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ApiClientGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ApiClientGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ApiClientGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(ApiClientGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, ApiClientGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/api_client_patch.py b/pypureclient/flasharray/FA_2_26/models/api_client_patch.py new file mode 100644 index 000000000..9f4007c51 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/api_client_patch.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class ApiClientPatch(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'enabled': 'bool' + } + + attribute_map = { + 'enabled': 'enabled' + } + + required_args = { + } + + def __init__( + self, + enabled=None, # type: bool + ): + """ + Keyword args: + enabled (bool): Returns a value of `true` if the API client is permitted to exchange ID tokens for access tokens. API clients are disabled by default. + """ + if enabled is not None: + self.enabled = enabled + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ApiClientPatch`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ApiClientPatch`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ApiClientPatch`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ApiClientPatch`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(ApiClientPatch, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, ApiClientPatch): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/api_client_post.py b/pypureclient/flasharray/FA_2_26/models/api_client_post.py new file mode 100644 index 000000000..1f9f5f4bc --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/api_client_post.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class ApiClientPost(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'max_role': 'str', + 'issuer': 'str', + 'public_key': 'str', + 'access_token_ttl_in_ms': 'int' + } + + attribute_map = { + 'max_role': 'max_role', + 'issuer': 'issuer', + 'public_key': 'public_key', + 'access_token_ttl_in_ms': 'access_token_ttl_in_ms' + } + + required_args = { + } + + def __init__( + self, + max_role=None, # type: str + issuer=None, # type: str + public_key=None, # type: str + access_token_ttl_in_ms=None, # type: int + ): + """ + Keyword args: + max_role (str): The maximum role allowed for ID Tokens issued by this API client. The bearer of an access token will be authorized to perform actions within the intersection of this `max_role` and the role of the array user specified as the `sub`. Valid values are `array_admin`, `storage_admin`, `ops_admin`, and `readonly`. Users with the `readonly` (Read Only) role can perform operations that convey the state of the array. Read Only users cannot alter the state of the array. Users with the `ops_admin` (Ops Admin) role can perform the same operations as Read Only users plus enable and disable remote assistance sessions. Ops Admin users cannot alter the state of the array. Users with the `storage_admin` (Storage Admin) role can perform the same operations as Read Only users plus storage related operations, such as administering volumes, hosts, and host groups. Storage Admin users cannot perform operations that deal with global and system configurations. Users with the `array_admin` (Array Admin) role can perform the same operations as Storage Admin users plus array-wide changes dealing with global and system configurations. In other words, Array Admin users can perform all operations. + issuer (str): The name of the identity provider that will be issuing ID Tokens for this API client. The `iss` claim in the JWT issued must match this string. If not specified, defaults to the API client name. + public_key (str): The API client's PEM formatted (Base64 encoded) RSA public key. Include the `-----BEGIN PUBLIC KEY-----` and `-----END PUBLIC KEY-----` lines. + access_token_ttl_in_ms (int): The TTL (Time To Live) length of time for the exchanged access token. Measured in milliseconds. If not specified, defaults to `86400000`. + """ + if max_role is not None: + self.max_role = max_role + if issuer is not None: + self.issuer = issuer + if public_key is not None: + self.public_key = public_key + if access_token_ttl_in_ms is not None: + self.access_token_ttl_in_ms = access_token_ttl_in_ms + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ApiClientPost`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ApiClientPost`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ApiClientPost`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ApiClientPost`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(ApiClientPost, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, ApiClientPost): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/api_client_response.py b/pypureclient/flasharray/FA_2_26/models/api_client_response.py new file mode 100644 index 000000000..78d4589e0 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/api_client_response.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class ApiClientResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'items': 'list[ApiClient]' + } + + attribute_map = { + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + items=None, # type: List[models.ApiClient] + ): + """ + Keyword args: + items (list[ApiClient]): Returns a list of all items after filtering. The values are displayed for each name where meaningful. + """ + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ApiClientResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ApiClientResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ApiClientResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ApiClientResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(ApiClientResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, ApiClientResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/api_token.py b/pypureclient/flasharray/FA_2_26/models/api_token.py new file mode 100644 index 000000000..5bbc9406d --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/api_token.py @@ -0,0 +1,141 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class ApiToken(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'created_at': 'int', + 'expires_at': 'int', + 'token': 'str' + } + + attribute_map = { + 'created_at': 'created_at', + 'expires_at': 'expires_at', + 'token': 'token' + } + + required_args = { + } + + def __init__( + self, + created_at=None, # type: int + expires_at=None, # type: int + token=None, # type: str + ): + """ + Keyword args: + created_at (int): Creation time in milliseconds since the UNIX epoch. + expires_at (int): Expiration time in milliseconds since the UNIX epoch. + token (str) + """ + if created_at is not None: + self.created_at = created_at + if expires_at is not None: + self.expires_at = expires_at + if token is not None: + self.token = token + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ApiToken`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ApiToken`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ApiToken`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ApiToken`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(ApiToken, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, ApiToken): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/api_version_response.py b/pypureclient/flasharray/FA_2_26/models/api_version_response.py new file mode 100644 index 000000000..8ae569b3f --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/api_version_response.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class ApiVersionResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'version': 'list[str]' + } + + attribute_map = { + 'version': 'version' + } + + required_args = { + } + + def __init__( + self, + version=None, # type: List[str] + ): + """ + Keyword args: + version (list[str]): A list of supported API versions. + """ + if version is not None: + self.version = version + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ApiVersionResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ApiVersionResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ApiVersionResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ApiVersionResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(ApiVersionResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, ApiVersionResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/app.py b/pypureclient/flasharray/FA_2_26/models/app.py new file mode 100644 index 000000000..a43cf2574 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/app.py @@ -0,0 +1,165 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class App(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'name': 'str', + 'description': 'str', + 'enabled': 'bool', + 'status': 'str', + 'version': 'str', + 'details': 'str', + 'vnc_enabled': 'bool' + } + + attribute_map = { + 'name': 'name', + 'description': 'description', + 'enabled': 'enabled', + 'status': 'status', + 'version': 'version', + 'details': 'details', + 'vnc_enabled': 'vnc_enabled' + } + + required_args = { + } + + def __init__( + self, + name=None, # type: str + description=None, # type: str + enabled=None, # type: bool + status=None, # type: str + version=None, # type: str + details=None, # type: str + vnc_enabled=None, # type: bool + ): + """ + Keyword args: + name (str): A locally unique, system-generated name. The name cannot be modified. + description (str): A description of the app. + enabled (bool): If set to `true`, the app is enabled. By default, apps are disabled. + status (str): The status of the app. Values include `healthy` and `unhealthy`. For cluster apps, this represents the aggregate status of the app. The aggregate status is only `healthy` if all nodes are `healthy`; otherwise, it is `unhealthy`. + version (str): The app version. For cluster apps, this represents the node version if all nodes are of the same version. If the node versions differ, a value of `null` is returned. + details (str): Details of the status of the app. + vnc_enabled (bool): If set to `true`, VNC access is enabled. By default, VNC access is disabled. + """ + if name is not None: + self.name = name + if description is not None: + self.description = description + if enabled is not None: + self.enabled = enabled + if status is not None: + self.status = status + if version is not None: + self.version = version + if details is not None: + self.details = details + if vnc_enabled is not None: + self.vnc_enabled = vnc_enabled + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `App`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `App`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `App`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `App`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(App, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, App): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/app_get_response.py b/pypureclient/flasharray/FA_2_26/models/app_get_response.py new file mode 100644 index 000000000..ecd17d483 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/app_get_response.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class AppGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[App]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.App] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[App]) + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AppGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AppGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AppGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AppGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(AppGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, AppGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/app_node.py b/pypureclient/flasharray/FA_2_26/models/app_node.py new file mode 100644 index 000000000..41700c5d3 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/app_node.py @@ -0,0 +1,153 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class AppNode(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'app': 'FixedReference', + 'index': 'int', + 'status': 'str', + 'version': 'str', + 'vnc': 'list[str]' + } + + attribute_map = { + 'app': 'app', + 'index': 'index', + 'status': 'status', + 'version': 'version', + 'vnc': 'vnc' + } + + required_args = { + } + + def __init__( + self, + app=None, # type: models.FixedReference + index=None, # type: int + status=None, # type: str + version=None, # type: str + vnc=None, # type: List[str] + ): + """ + Keyword args: + app (FixedReference): A reference to the app of which this node is a part. + index (int): An index that represents this node. + status (str): The node status. Possible values are `starting`, `healthy`, `unhealthy`, `critical`, `stopping`, and `disabled`. + version (str): The node version. + vnc (list[str]): The VNC information used to access this node if VNC is enabled. + """ + if app is not None: + self.app = app + if index is not None: + self.index = index + if status is not None: + self.status = status + if version is not None: + self.version = version + if vnc is not None: + self.vnc = vnc + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AppNode`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AppNode`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AppNode`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AppNode`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(AppNode, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, AppNode): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/app_node_get_response.py b/pypureclient/flasharray/FA_2_26/models/app_node_get_response.py new file mode 100644 index 000000000..564e8c3e1 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/app_node_get_response.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class AppNodeGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[AppNode]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.AppNode] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[AppNode]) + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AppNodeGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AppNodeGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AppNodeGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AppNodeGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(AppNodeGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, AppNodeGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/app_node_response.py b/pypureclient/flasharray/FA_2_26/models/app_node_response.py new file mode 100644 index 000000000..3e981715a --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/app_node_response.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class AppNodeResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'items': 'list[AppNode]' + } + + attribute_map = { + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + items=None, # type: List[models.AppNode] + ): + """ + Keyword args: + items (list[AppNode]) + """ + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AppNodeResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AppNodeResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AppNodeResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AppNodeResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(AppNodeResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, AppNodeResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/app_response.py b/pypureclient/flasharray/FA_2_26/models/app_response.py new file mode 100644 index 000000000..7732059b5 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/app_response.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class AppResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'items': 'list[App]' + } + + attribute_map = { + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + items=None, # type: List[models.App] + ): + """ + Keyword args: + items (list[App]) + """ + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AppResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AppResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AppResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AppResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(AppResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, AppResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/array.py b/pypureclient/flasharray/FA_2_26/models/array.py new file mode 100644 index 000000000..45e1f6454 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/array.py @@ -0,0 +1,225 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class Array(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'id': 'str', + 'name': 'str', + 'as_of': 'int', + 'banner': 'str', + 'capacity': 'int', + 'console_lock_enabled': 'bool', + 'encryption': 'ArrayEncryption', + 'eradication_config': 'EradicationConfig', + 'idle_timeout': 'int', + 'ntp_servers': 'list[str]', + 'ntp_symmetric_key': 'str', + 'os': 'str', + 'parity': 'float', + 'scsi_timeout': 'int', + 'space': 'Space', + 'time_zone': 'str', + 'version': 'str' + } + + attribute_map = { + 'id': 'id', + 'name': 'name', + 'as_of': '_as_of', + 'banner': 'banner', + 'capacity': 'capacity', + 'console_lock_enabled': 'console_lock_enabled', + 'encryption': 'encryption', + 'eradication_config': 'eradication_config', + 'idle_timeout': 'idle_timeout', + 'ntp_servers': 'ntp_servers', + 'ntp_symmetric_key': 'ntp_symmetric_key', + 'os': 'os', + 'parity': 'parity', + 'scsi_timeout': 'scsi_timeout', + 'space': 'space', + 'time_zone': 'time_zone', + 'version': 'version' + } + + required_args = { + } + + def __init__( + self, + id=None, # type: str + name=None, # type: str + as_of=None, # type: int + banner=None, # type: str + capacity=None, # type: int + console_lock_enabled=None, # type: bool + encryption=None, # type: models.ArrayEncryption + eradication_config=None, # type: models.EradicationConfig + idle_timeout=None, # type: int + ntp_servers=None, # type: List[str] + ntp_symmetric_key=None, # type: str + os=None, # type: str + parity=None, # type: float + scsi_timeout=None, # type: int + space=None, # type: models.Space + time_zone=None, # type: str + version=None, # type: str + ): + """ + Keyword args: + id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. + name (str): A user-specified name. The name must be locally unique and can be changed. + as_of (int): The time in milliseconds since UNIX epoch. + banner (str) + capacity (int): The usable capacity in bytes. + console_lock_enabled (bool) + encryption (ArrayEncryption) + eradication_config (EradicationConfig) + idle_timeout (int): The idle timeout in milliseconds. Valid values include `0` and any multiple of `60000` in the range of `300000` and `10800000`. Any other values are rounded down to the nearest multiple of `60000`. + ntp_servers (list[str]) + ntp_symmetric_key (str): The text of ntp symmetric authentication key. Supported formats include a hex-encoded string no longer than 64 characters, or an ASCII string no longer than 20 characters, excluding \"#\". Any configured key will be masked as \"****\" on return. + os (str): Specifies the operating system. Valid values are `Purity`, `Purity//FA`, and `Purity//FB`. + parity (float): A representation of data redundancy on the array. Data redundancy is rebuilt automatically by the system whenever parity is less than `1.0`. + scsi_timeout (int): The SCSI timeout. If not specified, defaults to `60s`. + space (Space) + time_zone (str): The time zone of the array. + version (str) + """ + if id is not None: + self.id = id + if name is not None: + self.name = name + if as_of is not None: + self.as_of = as_of + if banner is not None: + self.banner = banner + if capacity is not None: + self.capacity = capacity + if console_lock_enabled is not None: + self.console_lock_enabled = console_lock_enabled + if encryption is not None: + self.encryption = encryption + if eradication_config is not None: + self.eradication_config = eradication_config + if idle_timeout is not None: + self.idle_timeout = idle_timeout + if ntp_servers is not None: + self.ntp_servers = ntp_servers + if ntp_symmetric_key is not None: + self.ntp_symmetric_key = ntp_symmetric_key + if os is not None: + self.os = os + if parity is not None: + self.parity = parity + if scsi_timeout is not None: + self.scsi_timeout = scsi_timeout + if space is not None: + self.space = space + if time_zone is not None: + self.time_zone = time_zone + if version is not None: + self.version = version + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Array`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Array`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Array`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Array`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(Array, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, Array): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/array_connection.py b/pypureclient/flasharray/FA_2_26/models/array_connection.py new file mode 100644 index 000000000..9763144c5 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/array_connection.py @@ -0,0 +1,177 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class ArrayConnection(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'id': 'str', + 'name': 'str', + 'management_address': 'str', + 'replication_addresses': 'list[str]', + 'status': 'str', + 'type': 'str', + 'replication_transport': 'str', + 'version': 'str', + 'throttle': 'Throttle' + } + + attribute_map = { + 'id': 'id', + 'name': 'name', + 'management_address': 'management_address', + 'replication_addresses': 'replication_addresses', + 'status': 'status', + 'type': 'type', + 'replication_transport': 'replication_transport', + 'version': 'version', + 'throttle': 'throttle' + } + + required_args = { + } + + def __init__( + self, + id=None, # type: str + name=None, # type: str + management_address=None, # type: str + replication_addresses=None, # type: List[str] + status=None, # type: str + type=None, # type: str + replication_transport=None, # type: str + version=None, # type: str + throttle=None, # type: models.Throttle + ): + """ + Keyword args: + id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. + name (str): A locally unique, system-generated name. The name cannot be modified. + management_address (str): Management IP address or FQDN of the target array. + replication_addresses (list[str]): IP addresses of the target arrays when `replication_transport` is `ip`. WWNs of the target arrays when `replication_transport` is `fc`. + status (str): Status of the connection. Valid values are `connected`, `connecting`, `partially_connected`, and `unbalanced`. A status of `connected` indicates that arrays are communicating. A status of `connecting` indicates that the array is trying to establish a connection. A status of `partially_connected` indicates that some replication addresses are communicating but others are not. A status of `unbalanced` indicates that the arrays are communicating, but the set of paths is either not redundant or not symmetric. + type (str): The type of replication. Valid values are `async-replication` and `sync-replication`. + replication_transport (str): The protocol used to transport data between the local array and the remote array. Valid values are `ip` and `fc`. The default is `ip`. + version (str): The version of the target array. + throttle (Throttle) + """ + if id is not None: + self.id = id + if name is not None: + self.name = name + if management_address is not None: + self.management_address = management_address + if replication_addresses is not None: + self.replication_addresses = replication_addresses + if status is not None: + self.status = status + if type is not None: + self.type = type + if replication_transport is not None: + self.replication_transport = replication_transport + if version is not None: + self.version = version + if throttle is not None: + self.throttle = throttle + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ArrayConnection`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ArrayConnection`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ArrayConnection`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ArrayConnection`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(ArrayConnection, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, ArrayConnection): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/array_connection_get_response.py b/pypureclient/flasharray/FA_2_26/models/array_connection_get_response.py new file mode 100644 index 000000000..fcb954c9e --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/array_connection_get_response.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class ArrayConnectionGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[ArrayConnection]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.ArrayConnection] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[ArrayConnection]) + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ArrayConnectionGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ArrayConnectionGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ArrayConnectionGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ArrayConnectionGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(ArrayConnectionGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, ArrayConnectionGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/array_connection_key.py b/pypureclient/flasharray/FA_2_26/models/array_connection_key.py new file mode 100644 index 000000000..ef87f2a18 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/array_connection_key.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class ArrayConnectionKey(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'connection_key': 'str' + } + + attribute_map = { + 'connection_key': 'connection_key' + } + + required_args = { + } + + def __init__( + self, + connection_key=None, # type: str + ): + """ + Keyword args: + connection_key (str): Connection-key used on another array to connect to this array. + """ + if connection_key is not None: + self.connection_key = connection_key + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ArrayConnectionKey`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ArrayConnectionKey`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ArrayConnectionKey`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ArrayConnectionKey`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(ArrayConnectionKey, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, ArrayConnectionKey): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/array_connection_key_get_response.py b/pypureclient/flasharray/FA_2_26/models/array_connection_key_get_response.py new file mode 100644 index 000000000..0d322385b --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/array_connection_key_get_response.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class ArrayConnectionKeyGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[ArrayConnectionKey]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.ArrayConnectionKey] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[ArrayConnectionKey]) + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ArrayConnectionKeyGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ArrayConnectionKeyGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ArrayConnectionKeyGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ArrayConnectionKeyGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(ArrayConnectionKeyGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, ArrayConnectionKeyGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/array_connection_path.py b/pypureclient/flasharray/FA_2_26/models/array_connection_path.py new file mode 100644 index 000000000..680654334 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/array_connection_path.py @@ -0,0 +1,165 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class ArrayConnectionPath(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'name': 'str', + 'local_port': 'str', + 'local_address': 'str', + 'remote_port': 'str', + 'remote_address': 'str', + 'status': 'str', + 'replication_transport': 'str' + } + + attribute_map = { + 'name': 'name', + 'local_port': 'local_port', + 'local_address': 'local_address', + 'remote_port': 'remote_port', + 'remote_address': 'remote_address', + 'status': 'status', + 'replication_transport': 'replication_transport' + } + + required_args = { + } + + def __init__( + self, + name=None, # type: str + local_port=None, # type: str + local_address=None, # type: str + remote_port=None, # type: str + remote_address=None, # type: str + status=None, # type: str + replication_transport=None, # type: str + ): + """ + Keyword args: + name (str): A locally unique, system-generated name. The name cannot be modified. + local_port (str): The local port of the path. + local_address (str): IP address or WWN of the local port. + remote_port (str): The remote port of the path. + remote_address (str): IP address or WWN of the remote port. + status (str): Status of the connection. Valid values are `connected` and `connecting`. A status of `connected` indicates that the arrays are communicating. A status of `connecting` indicates that the array is trying to establish a connection. + replication_transport (str): The protocol used to transport data between the local array and the remote array. Valid values are `ip` and `fc`. + """ + if name is not None: + self.name = name + if local_port is not None: + self.local_port = local_port + if local_address is not None: + self.local_address = local_address + if remote_port is not None: + self.remote_port = remote_port + if remote_address is not None: + self.remote_address = remote_address + if status is not None: + self.status = status + if replication_transport is not None: + self.replication_transport = replication_transport + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ArrayConnectionPath`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ArrayConnectionPath`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ArrayConnectionPath`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ArrayConnectionPath`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(ArrayConnectionPath, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, ArrayConnectionPath): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/array_connection_path_get_response.py b/pypureclient/flasharray/FA_2_26/models/array_connection_path_get_response.py new file mode 100644 index 000000000..d294c7f6b --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/array_connection_path_get_response.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class ArrayConnectionPathGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[ArrayConnectionPath]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.ArrayConnectionPath] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[ArrayConnectionPath]) + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ArrayConnectionPathGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ArrayConnectionPathGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ArrayConnectionPathGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ArrayConnectionPathGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(ArrayConnectionPathGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, ArrayConnectionPathGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/array_connection_path_response.py b/pypureclient/flasharray/FA_2_26/models/array_connection_path_response.py new file mode 100644 index 000000000..0ddb118f7 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/array_connection_path_response.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class ArrayConnectionPathResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'items': 'list[ArrayConnectionPath]' + } + + attribute_map = { + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + items=None, # type: List[models.ArrayConnectionPath] + ): + """ + Keyword args: + items (list[ArrayConnectionPath]) + """ + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ArrayConnectionPathResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ArrayConnectionPathResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ArrayConnectionPathResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ArrayConnectionPathResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(ArrayConnectionPathResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, ArrayConnectionPathResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/array_connection_post.py b/pypureclient/flasharray/FA_2_26/models/array_connection_post.py new file mode 100644 index 000000000..456662962 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/array_connection_post.py @@ -0,0 +1,153 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class ArrayConnectionPost(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'management_address': 'str', + 'replication_addresses': 'list[str]', + 'type': 'str', + 'replication_transport': 'str', + 'connection_key': 'str' + } + + attribute_map = { + 'management_address': 'management_address', + 'replication_addresses': 'replication_addresses', + 'type': 'type', + 'replication_transport': 'replication_transport', + 'connection_key': 'connection_key' + } + + required_args = { + } + + def __init__( + self, + management_address=None, # type: str + replication_addresses=None, # type: List[str] + type=None, # type: str + replication_transport=None, # type: str + connection_key=None, # type: str + ): + """ + Keyword args: + management_address (str): Management IP address of the target array. + replication_addresses (list[str]): IP addresses and FQDNs of the target arrays. Configurable only when `replication_transport` is set to `ip`. If not configured, will be set to all the replication addresses available on the target array at the time of the POST. + type (str): The type of replication. Valid values are `async-replication` and `sync-replication`. + replication_transport (str): The protocol used to transport data between the local array and the remote array. Valid values are `ip` and `fc`. The default is `ip`. + connection_key (str): The connection key of the target array. + """ + if management_address is not None: + self.management_address = management_address + if replication_addresses is not None: + self.replication_addresses = replication_addresses + if type is not None: + self.type = type + if replication_transport is not None: + self.replication_transport = replication_transport + if connection_key is not None: + self.connection_key = connection_key + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ArrayConnectionPost`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ArrayConnectionPost`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ArrayConnectionPost`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ArrayConnectionPost`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(ArrayConnectionPost, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, ArrayConnectionPost): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/array_connection_response.py b/pypureclient/flasharray/FA_2_26/models/array_connection_response.py new file mode 100644 index 000000000..85a536806 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/array_connection_response.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class ArrayConnectionResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'items': 'list[ArrayConnection]' + } + + attribute_map = { + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + items=None, # type: List[models.ArrayConnection] + ): + """ + Keyword args: + items (list[ArrayConnection]) + """ + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ArrayConnectionResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ArrayConnectionResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ArrayConnectionResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ArrayConnectionResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(ArrayConnectionResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, ArrayConnectionResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/array_encryption.py b/pypureclient/flasharray/FA_2_26/models/array_encryption.py new file mode 100644 index 000000000..9cf3b9ae1 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/array_encryption.py @@ -0,0 +1,135 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class ArrayEncryption(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'data_at_rest': 'ArrayencryptionDataAtRest', + 'module_version': 'str' + } + + attribute_map = { + 'data_at_rest': 'data_at_rest', + 'module_version': 'module_version' + } + + required_args = { + } + + def __init__( + self, + data_at_rest=None, # type: models.ArrayencryptionDataAtRest + module_version=None, # type: str + ): + """ + Keyword args: + data_at_rest (ArrayencryptionDataAtRest) + module_version (str): The version of the Purity encryption module installed on the array. Security certifications are carried out on a per-version basis. On non-encrypt builds, an encryption module may be installed without being enabled. Values include `FA-1.0`, `FA-1.1`, `FA-1.2`, `FA-1.3`, and so on. + """ + if data_at_rest is not None: + self.data_at_rest = data_at_rest + if module_version is not None: + self.module_version = module_version + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ArrayEncryption`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ArrayEncryption`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ArrayEncryption`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ArrayEncryption`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(ArrayEncryption, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, ArrayEncryption): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/array_factory_reset_token.py b/pypureclient/flasharray/FA_2_26/models/array_factory_reset_token.py new file mode 100644 index 000000000..05bdbc297 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/array_factory_reset_token.py @@ -0,0 +1,141 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class ArrayFactoryResetToken(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'id': 'str', + 'name': 'str', + 'token': 'int' + } + + attribute_map = { + 'id': 'id', + 'name': 'name', + 'token': 'token' + } + + required_args = { + } + + def __init__( + self, + id=None, # type: str + name=None, # type: str + token=None, # type: int + ): + """ + Keyword args: + id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. + name (str): A user-specified name. The name must be locally unique and can be changed. + token (int): A random number required as input to perform a factory reset of the array. + """ + if id is not None: + self.id = id + if name is not None: + self.name = name + if token is not None: + self.token = token + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ArrayFactoryResetToken`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ArrayFactoryResetToken`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ArrayFactoryResetToken`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ArrayFactoryResetToken`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(ArrayFactoryResetToken, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, ArrayFactoryResetToken): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/array_factory_reset_token_get_response.py b/pypureclient/flasharray/FA_2_26/models/array_factory_reset_token_get_response.py new file mode 100644 index 000000000..cfb0682a6 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/array_factory_reset_token_get_response.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class ArrayFactoryResetTokenGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[ArrayFactoryResetToken]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.ArrayFactoryResetToken] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[ArrayFactoryResetToken]) + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ArrayFactoryResetTokenGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ArrayFactoryResetTokenGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ArrayFactoryResetTokenGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ArrayFactoryResetTokenGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(ArrayFactoryResetTokenGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, ArrayFactoryResetTokenGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/array_factory_reset_token_response.py b/pypureclient/flasharray/FA_2_26/models/array_factory_reset_token_response.py new file mode 100644 index 000000000..4c4314b27 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/array_factory_reset_token_response.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class ArrayFactoryResetTokenResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'items': 'list[ArrayFactoryResetToken]' + } + + attribute_map = { + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + items=None, # type: List[models.ArrayFactoryResetToken] + ): + """ + Keyword args: + items (list[ArrayFactoryResetToken]) + """ + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ArrayFactoryResetTokenResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ArrayFactoryResetTokenResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ArrayFactoryResetTokenResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ArrayFactoryResetTokenResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(ArrayFactoryResetTokenResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, ArrayFactoryResetTokenResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/array_get_response.py b/pypureclient/flasharray/FA_2_26/models/array_get_response.py new file mode 100644 index 000000000..04ac3a8be --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/array_get_response.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class ArrayGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[Arrays]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.Arrays] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[Arrays]) + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ArrayGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ArrayGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ArrayGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ArrayGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(ArrayGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, ArrayGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/array_performance.py b/pypureclient/flasharray/FA_2_26/models/array_performance.py new file mode 100644 index 000000000..69340a11c --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/array_performance.py @@ -0,0 +1,413 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class ArrayPerformance(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'bytes_per_mirrored_write': 'int', + 'bytes_per_op': 'int', + 'bytes_per_read': 'int', + 'bytes_per_write': 'int', + 'mirrored_write_bytes_per_sec': 'int', + 'mirrored_writes_per_sec': 'int', + 'qos_rate_limit_usec_per_mirrored_write_op': 'int', + 'qos_rate_limit_usec_per_read_op': 'int', + 'qos_rate_limit_usec_per_write_op': 'int', + 'queue_usec_per_mirrored_write_op': 'int', + 'queue_usec_per_read_op': 'int', + 'queue_usec_per_write_op': 'int', + 'read_bytes_per_sec': 'int', + 'reads_per_sec': 'int', + 'san_usec_per_mirrored_write_op': 'int', + 'san_usec_per_read_op': 'int', + 'san_usec_per_write_op': 'int', + 'service_usec_per_mirrored_write_op': 'int', + 'service_usec_per_read_op': 'int', + 'service_usec_per_write_op': 'int', + 'time': 'int', + 'usec_per_mirrored_write_op': 'int', + 'usec_per_read_op': 'int', + 'usec_per_write_op': 'int', + 'write_bytes_per_sec': 'int', + 'writes_per_sec': 'int', + 'service_usec_per_read_op_cache_reduction': 'float', + 'id': 'str', + 'name': 'str', + 'queue_depth': 'int', + 'local_queue_usec_per_op': 'int', + 'usec_per_other_op': 'int', + 'others_per_sec': 'int' + } + + attribute_map = { + 'bytes_per_mirrored_write': 'bytes_per_mirrored_write', + 'bytes_per_op': 'bytes_per_op', + 'bytes_per_read': 'bytes_per_read', + 'bytes_per_write': 'bytes_per_write', + 'mirrored_write_bytes_per_sec': 'mirrored_write_bytes_per_sec', + 'mirrored_writes_per_sec': 'mirrored_writes_per_sec', + 'qos_rate_limit_usec_per_mirrored_write_op': 'qos_rate_limit_usec_per_mirrored_write_op', + 'qos_rate_limit_usec_per_read_op': 'qos_rate_limit_usec_per_read_op', + 'qos_rate_limit_usec_per_write_op': 'qos_rate_limit_usec_per_write_op', + 'queue_usec_per_mirrored_write_op': 'queue_usec_per_mirrored_write_op', + 'queue_usec_per_read_op': 'queue_usec_per_read_op', + 'queue_usec_per_write_op': 'queue_usec_per_write_op', + 'read_bytes_per_sec': 'read_bytes_per_sec', + 'reads_per_sec': 'reads_per_sec', + 'san_usec_per_mirrored_write_op': 'san_usec_per_mirrored_write_op', + 'san_usec_per_read_op': 'san_usec_per_read_op', + 'san_usec_per_write_op': 'san_usec_per_write_op', + 'service_usec_per_mirrored_write_op': 'service_usec_per_mirrored_write_op', + 'service_usec_per_read_op': 'service_usec_per_read_op', + 'service_usec_per_write_op': 'service_usec_per_write_op', + 'time': 'time', + 'usec_per_mirrored_write_op': 'usec_per_mirrored_write_op', + 'usec_per_read_op': 'usec_per_read_op', + 'usec_per_write_op': 'usec_per_write_op', + 'write_bytes_per_sec': 'write_bytes_per_sec', + 'writes_per_sec': 'writes_per_sec', + 'service_usec_per_read_op_cache_reduction': 'service_usec_per_read_op_cache_reduction', + 'id': 'id', + 'name': 'name', + 'queue_depth': 'queue_depth', + 'local_queue_usec_per_op': 'local_queue_usec_per_op', + 'usec_per_other_op': 'usec_per_other_op', + 'others_per_sec': 'others_per_sec' + } + + required_args = { + } + + def __init__( + self, + bytes_per_mirrored_write=None, # type: int + bytes_per_op=None, # type: int + bytes_per_read=None, # type: int + bytes_per_write=None, # type: int + mirrored_write_bytes_per_sec=None, # type: int + mirrored_writes_per_sec=None, # type: int + qos_rate_limit_usec_per_mirrored_write_op=None, # type: int + qos_rate_limit_usec_per_read_op=None, # type: int + qos_rate_limit_usec_per_write_op=None, # type: int + queue_usec_per_mirrored_write_op=None, # type: int + queue_usec_per_read_op=None, # type: int + queue_usec_per_write_op=None, # type: int + read_bytes_per_sec=None, # type: int + reads_per_sec=None, # type: int + san_usec_per_mirrored_write_op=None, # type: int + san_usec_per_read_op=None, # type: int + san_usec_per_write_op=None, # type: int + service_usec_per_mirrored_write_op=None, # type: int + service_usec_per_read_op=None, # type: int + service_usec_per_write_op=None, # type: int + time=None, # type: int + usec_per_mirrored_write_op=None, # type: int + usec_per_read_op=None, # type: int + usec_per_write_op=None, # type: int + write_bytes_per_sec=None, # type: int + writes_per_sec=None, # type: int + service_usec_per_read_op_cache_reduction=None, # type: float + id=None, # type: str + name=None, # type: str + queue_depth=None, # type: int + local_queue_usec_per_op=None, # type: int + usec_per_other_op=None, # type: int + others_per_sec=None, # type: int + ): + """ + Keyword args: + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. + bytes_per_op (int): The average I/O size for both read and write (all) operations. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. + mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. + mirrored_writes_per_sec (int): The number of mirrored writes per second. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. + read_bytes_per_sec (int): The number of bytes read per second. + reads_per_sec (int): The number of read requests processed per second. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + write_bytes_per_sec (int): The number of bytes written per second. + writes_per_sec (int): The number of write requests processed per second. + service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. + id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. + name (str): A locally unique, system-generated name. The name cannot be modified. + queue_depth (int): Deprecated. The number displayed here may not be accurate and in later versions of the product this field will always display `null`. Instead, use `queue_usec_per_mirrored_write_op`, `queue_usec_per_read_op`, and `queue_usec_per_write_op` fields to measure IO queuing. + local_queue_usec_per_op (int): Deprecated. The number displayed here may not be accurate and in later versions of the product this field will always display `null`. Instead, use `queue_usec_per_mirrored_write_op`, `queue_usec_per_read_op`, and `queue_usec_per_write_op` fields to measure IO queuing. + usec_per_other_op (int): The average time it takes the array to process an I/O other request, measured in microseconds. + others_per_sec (int): The number of other requests processed per second. + """ + if bytes_per_mirrored_write is not None: + self.bytes_per_mirrored_write = bytes_per_mirrored_write + if bytes_per_op is not None: + self.bytes_per_op = bytes_per_op + if bytes_per_read is not None: + self.bytes_per_read = bytes_per_read + if bytes_per_write is not None: + self.bytes_per_write = bytes_per_write + if mirrored_write_bytes_per_sec is not None: + self.mirrored_write_bytes_per_sec = mirrored_write_bytes_per_sec + if mirrored_writes_per_sec is not None: + self.mirrored_writes_per_sec = mirrored_writes_per_sec + if qos_rate_limit_usec_per_mirrored_write_op is not None: + self.qos_rate_limit_usec_per_mirrored_write_op = qos_rate_limit_usec_per_mirrored_write_op + if qos_rate_limit_usec_per_read_op is not None: + self.qos_rate_limit_usec_per_read_op = qos_rate_limit_usec_per_read_op + if qos_rate_limit_usec_per_write_op is not None: + self.qos_rate_limit_usec_per_write_op = qos_rate_limit_usec_per_write_op + if queue_usec_per_mirrored_write_op is not None: + self.queue_usec_per_mirrored_write_op = queue_usec_per_mirrored_write_op + if queue_usec_per_read_op is not None: + self.queue_usec_per_read_op = queue_usec_per_read_op + if queue_usec_per_write_op is not None: + self.queue_usec_per_write_op = queue_usec_per_write_op + if read_bytes_per_sec is not None: + self.read_bytes_per_sec = read_bytes_per_sec + if reads_per_sec is not None: + self.reads_per_sec = reads_per_sec + if san_usec_per_mirrored_write_op is not None: + self.san_usec_per_mirrored_write_op = san_usec_per_mirrored_write_op + if san_usec_per_read_op is not None: + self.san_usec_per_read_op = san_usec_per_read_op + if san_usec_per_write_op is not None: + self.san_usec_per_write_op = san_usec_per_write_op + if service_usec_per_mirrored_write_op is not None: + self.service_usec_per_mirrored_write_op = service_usec_per_mirrored_write_op + if service_usec_per_read_op is not None: + self.service_usec_per_read_op = service_usec_per_read_op + if service_usec_per_write_op is not None: + self.service_usec_per_write_op = service_usec_per_write_op + if time is not None: + self.time = time + if usec_per_mirrored_write_op is not None: + self.usec_per_mirrored_write_op = usec_per_mirrored_write_op + if usec_per_read_op is not None: + self.usec_per_read_op = usec_per_read_op + if usec_per_write_op is not None: + self.usec_per_write_op = usec_per_write_op + if write_bytes_per_sec is not None: + self.write_bytes_per_sec = write_bytes_per_sec + if writes_per_sec is not None: + self.writes_per_sec = writes_per_sec + if service_usec_per_read_op_cache_reduction is not None: + self.service_usec_per_read_op_cache_reduction = service_usec_per_read_op_cache_reduction + if id is not None: + self.id = id + if name is not None: + self.name = name + if queue_depth is not None: + self.queue_depth = queue_depth + if local_queue_usec_per_op is not None: + self.local_queue_usec_per_op = local_queue_usec_per_op + if usec_per_other_op is not None: + self.usec_per_other_op = usec_per_other_op + if others_per_sec is not None: + self.others_per_sec = others_per_sec + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ArrayPerformance`".format(key)) + if key == "bytes_per_mirrored_write" and value is not None: + if value < 0: + raise ValueError("Invalid value for `bytes_per_mirrored_write`, must be a value greater than or equal to `0`") + if key == "bytes_per_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `bytes_per_op`, must be a value greater than or equal to `0`") + if key == "bytes_per_read" and value is not None: + if value < 0: + raise ValueError("Invalid value for `bytes_per_read`, must be a value greater than or equal to `0`") + if key == "bytes_per_write" and value is not None: + if value < 0: + raise ValueError("Invalid value for `bytes_per_write`, must be a value greater than or equal to `0`") + if key == "mirrored_write_bytes_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `mirrored_write_bytes_per_sec`, must be a value greater than or equal to `0`") + if key == "mirrored_writes_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `mirrored_writes_per_sec`, must be a value greater than or equal to `0`") + if key == "qos_rate_limit_usec_per_mirrored_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `qos_rate_limit_usec_per_mirrored_write_op`, must be a value greater than or equal to `0`") + if key == "qos_rate_limit_usec_per_read_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `qos_rate_limit_usec_per_read_op`, must be a value greater than or equal to `0`") + if key == "qos_rate_limit_usec_per_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `qos_rate_limit_usec_per_write_op`, must be a value greater than or equal to `0`") + if key == "queue_usec_per_mirrored_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `queue_usec_per_mirrored_write_op`, must be a value greater than or equal to `0`") + if key == "queue_usec_per_read_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `queue_usec_per_read_op`, must be a value greater than or equal to `0`") + if key == "queue_usec_per_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `queue_usec_per_write_op`, must be a value greater than or equal to `0`") + if key == "read_bytes_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `read_bytes_per_sec`, must be a value greater than or equal to `0`") + if key == "reads_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `reads_per_sec`, must be a value greater than or equal to `0`") + if key == "san_usec_per_mirrored_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `san_usec_per_mirrored_write_op`, must be a value greater than or equal to `0`") + if key == "san_usec_per_read_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `san_usec_per_read_op`, must be a value greater than or equal to `0`") + if key == "san_usec_per_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `san_usec_per_write_op`, must be a value greater than or equal to `0`") + if key == "service_usec_per_mirrored_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `service_usec_per_mirrored_write_op`, must be a value greater than or equal to `0`") + if key == "service_usec_per_read_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `service_usec_per_read_op`, must be a value greater than or equal to `0`") + if key == "service_usec_per_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `service_usec_per_write_op`, must be a value greater than or equal to `0`") + if key == "usec_per_mirrored_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `usec_per_mirrored_write_op`, must be a value greater than or equal to `0`") + if key == "usec_per_read_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `usec_per_read_op`, must be a value greater than or equal to `0`") + if key == "usec_per_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `usec_per_write_op`, must be a value greater than or equal to `0`") + if key == "write_bytes_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `write_bytes_per_sec`, must be a value greater than or equal to `0`") + if key == "writes_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `writes_per_sec`, must be a value greater than or equal to `0`") + if key == "service_usec_per_read_op_cache_reduction" and value is not None: + if value > 1.0: + raise ValueError("Invalid value for `service_usec_per_read_op_cache_reduction`, value must be less than or equal to `1.0`") + if value < 0.0: + raise ValueError("Invalid value for `service_usec_per_read_op_cache_reduction`, must be a value greater than or equal to `0.0`") + if key == "queue_depth" and value is not None: + if value < 0: + raise ValueError("Invalid value for `queue_depth`, must be a value greater than or equal to `0`") + if key == "local_queue_usec_per_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `local_queue_usec_per_op`, must be a value greater than or equal to `0`") + if key == "usec_per_other_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `usec_per_other_op`, must be a value greater than or equal to `0`") + if key == "others_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `others_per_sec`, must be a value greater than or equal to `0`") + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ArrayPerformance`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ArrayPerformance`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ArrayPerformance`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(ArrayPerformance, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, ArrayPerformance): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/array_performance_by_link.py b/pypureclient/flasharray/FA_2_26/models/array_performance_by_link.py new file mode 100644 index 000000000..b16c128db --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/array_performance_by_link.py @@ -0,0 +1,419 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class ArrayPerformanceByLink(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'bytes_per_mirrored_write': 'int', + 'bytes_per_op': 'int', + 'bytes_per_read': 'int', + 'bytes_per_write': 'int', + 'mirrored_write_bytes_per_sec': 'int', + 'mirrored_writes_per_sec': 'int', + 'qos_rate_limit_usec_per_mirrored_write_op': 'int', + 'qos_rate_limit_usec_per_read_op': 'int', + 'qos_rate_limit_usec_per_write_op': 'int', + 'queue_usec_per_mirrored_write_op': 'int', + 'queue_usec_per_read_op': 'int', + 'queue_usec_per_write_op': 'int', + 'read_bytes_per_sec': 'int', + 'reads_per_sec': 'int', + 'san_usec_per_mirrored_write_op': 'int', + 'san_usec_per_read_op': 'int', + 'san_usec_per_write_op': 'int', + 'service_usec_per_mirrored_write_op': 'int', + 'service_usec_per_read_op': 'int', + 'service_usec_per_write_op': 'int', + 'time': 'int', + 'usec_per_mirrored_write_op': 'int', + 'usec_per_read_op': 'int', + 'usec_per_write_op': 'int', + 'write_bytes_per_sec': 'int', + 'writes_per_sec': 'int', + 'service_usec_per_read_op_cache_reduction': 'float', + 'id': 'str', + 'name': 'str', + 'queue_depth': 'int', + 'local_queue_usec_per_op': 'int', + 'usec_per_other_op': 'int', + 'others_per_sec': 'int', + 'link': 'list[Resource]' + } + + attribute_map = { + 'bytes_per_mirrored_write': 'bytes_per_mirrored_write', + 'bytes_per_op': 'bytes_per_op', + 'bytes_per_read': 'bytes_per_read', + 'bytes_per_write': 'bytes_per_write', + 'mirrored_write_bytes_per_sec': 'mirrored_write_bytes_per_sec', + 'mirrored_writes_per_sec': 'mirrored_writes_per_sec', + 'qos_rate_limit_usec_per_mirrored_write_op': 'qos_rate_limit_usec_per_mirrored_write_op', + 'qos_rate_limit_usec_per_read_op': 'qos_rate_limit_usec_per_read_op', + 'qos_rate_limit_usec_per_write_op': 'qos_rate_limit_usec_per_write_op', + 'queue_usec_per_mirrored_write_op': 'queue_usec_per_mirrored_write_op', + 'queue_usec_per_read_op': 'queue_usec_per_read_op', + 'queue_usec_per_write_op': 'queue_usec_per_write_op', + 'read_bytes_per_sec': 'read_bytes_per_sec', + 'reads_per_sec': 'reads_per_sec', + 'san_usec_per_mirrored_write_op': 'san_usec_per_mirrored_write_op', + 'san_usec_per_read_op': 'san_usec_per_read_op', + 'san_usec_per_write_op': 'san_usec_per_write_op', + 'service_usec_per_mirrored_write_op': 'service_usec_per_mirrored_write_op', + 'service_usec_per_read_op': 'service_usec_per_read_op', + 'service_usec_per_write_op': 'service_usec_per_write_op', + 'time': 'time', + 'usec_per_mirrored_write_op': 'usec_per_mirrored_write_op', + 'usec_per_read_op': 'usec_per_read_op', + 'usec_per_write_op': 'usec_per_write_op', + 'write_bytes_per_sec': 'write_bytes_per_sec', + 'writes_per_sec': 'writes_per_sec', + 'service_usec_per_read_op_cache_reduction': 'service_usec_per_read_op_cache_reduction', + 'id': 'id', + 'name': 'name', + 'queue_depth': 'queue_depth', + 'local_queue_usec_per_op': 'local_queue_usec_per_op', + 'usec_per_other_op': 'usec_per_other_op', + 'others_per_sec': 'others_per_sec', + 'link': 'link' + } + + required_args = { + } + + def __init__( + self, + bytes_per_mirrored_write=None, # type: int + bytes_per_op=None, # type: int + bytes_per_read=None, # type: int + bytes_per_write=None, # type: int + mirrored_write_bytes_per_sec=None, # type: int + mirrored_writes_per_sec=None, # type: int + qos_rate_limit_usec_per_mirrored_write_op=None, # type: int + qos_rate_limit_usec_per_read_op=None, # type: int + qos_rate_limit_usec_per_write_op=None, # type: int + queue_usec_per_mirrored_write_op=None, # type: int + queue_usec_per_read_op=None, # type: int + queue_usec_per_write_op=None, # type: int + read_bytes_per_sec=None, # type: int + reads_per_sec=None, # type: int + san_usec_per_mirrored_write_op=None, # type: int + san_usec_per_read_op=None, # type: int + san_usec_per_write_op=None, # type: int + service_usec_per_mirrored_write_op=None, # type: int + service_usec_per_read_op=None, # type: int + service_usec_per_write_op=None, # type: int + time=None, # type: int + usec_per_mirrored_write_op=None, # type: int + usec_per_read_op=None, # type: int + usec_per_write_op=None, # type: int + write_bytes_per_sec=None, # type: int + writes_per_sec=None, # type: int + service_usec_per_read_op_cache_reduction=None, # type: float + id=None, # type: str + name=None, # type: str + queue_depth=None, # type: int + local_queue_usec_per_op=None, # type: int + usec_per_other_op=None, # type: int + others_per_sec=None, # type: int + link=None, # type: List[models.Resource] + ): + """ + Keyword args: + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. + bytes_per_op (int): The average I/O size for both read and write (all) operations. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. + mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. + mirrored_writes_per_sec (int): The number of mirrored writes per second. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. + read_bytes_per_sec (int): The number of bytes read per second. + reads_per_sec (int): The number of read requests processed per second. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + write_bytes_per_sec (int): The number of bytes written per second. + writes_per_sec (int): The number of write requests processed per second. + service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. + id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. + name (str): A locally unique, system-generated name. The name cannot be modified. + queue_depth (int): Deprecated. The number displayed here may not be accurate and in later versions of the product this field will always display `null`. Instead, use `queue_usec_per_mirrored_write_op`, `queue_usec_per_read_op`, and `queue_usec_per_write_op` fields to measure IO queuing. + local_queue_usec_per_op (int): Deprecated. The number displayed here may not be accurate and in later versions of the product this field will always display `null`. Instead, use `queue_usec_per_mirrored_write_op`, `queue_usec_per_read_op`, and `queue_usec_per_write_op` fields to measure IO queuing. + usec_per_other_op (int): The average time it takes the array to process an I/O other request, measured in microseconds. + others_per_sec (int): The number of other requests processed per second. + link (list[Resource]): List of IDs and array names for the link + """ + if bytes_per_mirrored_write is not None: + self.bytes_per_mirrored_write = bytes_per_mirrored_write + if bytes_per_op is not None: + self.bytes_per_op = bytes_per_op + if bytes_per_read is not None: + self.bytes_per_read = bytes_per_read + if bytes_per_write is not None: + self.bytes_per_write = bytes_per_write + if mirrored_write_bytes_per_sec is not None: + self.mirrored_write_bytes_per_sec = mirrored_write_bytes_per_sec + if mirrored_writes_per_sec is not None: + self.mirrored_writes_per_sec = mirrored_writes_per_sec + if qos_rate_limit_usec_per_mirrored_write_op is not None: + self.qos_rate_limit_usec_per_mirrored_write_op = qos_rate_limit_usec_per_mirrored_write_op + if qos_rate_limit_usec_per_read_op is not None: + self.qos_rate_limit_usec_per_read_op = qos_rate_limit_usec_per_read_op + if qos_rate_limit_usec_per_write_op is not None: + self.qos_rate_limit_usec_per_write_op = qos_rate_limit_usec_per_write_op + if queue_usec_per_mirrored_write_op is not None: + self.queue_usec_per_mirrored_write_op = queue_usec_per_mirrored_write_op + if queue_usec_per_read_op is not None: + self.queue_usec_per_read_op = queue_usec_per_read_op + if queue_usec_per_write_op is not None: + self.queue_usec_per_write_op = queue_usec_per_write_op + if read_bytes_per_sec is not None: + self.read_bytes_per_sec = read_bytes_per_sec + if reads_per_sec is not None: + self.reads_per_sec = reads_per_sec + if san_usec_per_mirrored_write_op is not None: + self.san_usec_per_mirrored_write_op = san_usec_per_mirrored_write_op + if san_usec_per_read_op is not None: + self.san_usec_per_read_op = san_usec_per_read_op + if san_usec_per_write_op is not None: + self.san_usec_per_write_op = san_usec_per_write_op + if service_usec_per_mirrored_write_op is not None: + self.service_usec_per_mirrored_write_op = service_usec_per_mirrored_write_op + if service_usec_per_read_op is not None: + self.service_usec_per_read_op = service_usec_per_read_op + if service_usec_per_write_op is not None: + self.service_usec_per_write_op = service_usec_per_write_op + if time is not None: + self.time = time + if usec_per_mirrored_write_op is not None: + self.usec_per_mirrored_write_op = usec_per_mirrored_write_op + if usec_per_read_op is not None: + self.usec_per_read_op = usec_per_read_op + if usec_per_write_op is not None: + self.usec_per_write_op = usec_per_write_op + if write_bytes_per_sec is not None: + self.write_bytes_per_sec = write_bytes_per_sec + if writes_per_sec is not None: + self.writes_per_sec = writes_per_sec + if service_usec_per_read_op_cache_reduction is not None: + self.service_usec_per_read_op_cache_reduction = service_usec_per_read_op_cache_reduction + if id is not None: + self.id = id + if name is not None: + self.name = name + if queue_depth is not None: + self.queue_depth = queue_depth + if local_queue_usec_per_op is not None: + self.local_queue_usec_per_op = local_queue_usec_per_op + if usec_per_other_op is not None: + self.usec_per_other_op = usec_per_other_op + if others_per_sec is not None: + self.others_per_sec = others_per_sec + if link is not None: + self.link = link + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ArrayPerformanceByLink`".format(key)) + if key == "bytes_per_mirrored_write" and value is not None: + if value < 0: + raise ValueError("Invalid value for `bytes_per_mirrored_write`, must be a value greater than or equal to `0`") + if key == "bytes_per_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `bytes_per_op`, must be a value greater than or equal to `0`") + if key == "bytes_per_read" and value is not None: + if value < 0: + raise ValueError("Invalid value for `bytes_per_read`, must be a value greater than or equal to `0`") + if key == "bytes_per_write" and value is not None: + if value < 0: + raise ValueError("Invalid value for `bytes_per_write`, must be a value greater than or equal to `0`") + if key == "mirrored_write_bytes_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `mirrored_write_bytes_per_sec`, must be a value greater than or equal to `0`") + if key == "mirrored_writes_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `mirrored_writes_per_sec`, must be a value greater than or equal to `0`") + if key == "qos_rate_limit_usec_per_mirrored_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `qos_rate_limit_usec_per_mirrored_write_op`, must be a value greater than or equal to `0`") + if key == "qos_rate_limit_usec_per_read_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `qos_rate_limit_usec_per_read_op`, must be a value greater than or equal to `0`") + if key == "qos_rate_limit_usec_per_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `qos_rate_limit_usec_per_write_op`, must be a value greater than or equal to `0`") + if key == "queue_usec_per_mirrored_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `queue_usec_per_mirrored_write_op`, must be a value greater than or equal to `0`") + if key == "queue_usec_per_read_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `queue_usec_per_read_op`, must be a value greater than or equal to `0`") + if key == "queue_usec_per_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `queue_usec_per_write_op`, must be a value greater than or equal to `0`") + if key == "read_bytes_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `read_bytes_per_sec`, must be a value greater than or equal to `0`") + if key == "reads_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `reads_per_sec`, must be a value greater than or equal to `0`") + if key == "san_usec_per_mirrored_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `san_usec_per_mirrored_write_op`, must be a value greater than or equal to `0`") + if key == "san_usec_per_read_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `san_usec_per_read_op`, must be a value greater than or equal to `0`") + if key == "san_usec_per_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `san_usec_per_write_op`, must be a value greater than or equal to `0`") + if key == "service_usec_per_mirrored_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `service_usec_per_mirrored_write_op`, must be a value greater than or equal to `0`") + if key == "service_usec_per_read_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `service_usec_per_read_op`, must be a value greater than or equal to `0`") + if key == "service_usec_per_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `service_usec_per_write_op`, must be a value greater than or equal to `0`") + if key == "usec_per_mirrored_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `usec_per_mirrored_write_op`, must be a value greater than or equal to `0`") + if key == "usec_per_read_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `usec_per_read_op`, must be a value greater than or equal to `0`") + if key == "usec_per_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `usec_per_write_op`, must be a value greater than or equal to `0`") + if key == "write_bytes_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `write_bytes_per_sec`, must be a value greater than or equal to `0`") + if key == "writes_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `writes_per_sec`, must be a value greater than or equal to `0`") + if key == "service_usec_per_read_op_cache_reduction" and value is not None: + if value > 1.0: + raise ValueError("Invalid value for `service_usec_per_read_op_cache_reduction`, value must be less than or equal to `1.0`") + if value < 0.0: + raise ValueError("Invalid value for `service_usec_per_read_op_cache_reduction`, must be a value greater than or equal to `0.0`") + if key == "queue_depth" and value is not None: + if value < 0: + raise ValueError("Invalid value for `queue_depth`, must be a value greater than or equal to `0`") + if key == "local_queue_usec_per_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `local_queue_usec_per_op`, must be a value greater than or equal to `0`") + if key == "usec_per_other_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `usec_per_other_op`, must be a value greater than or equal to `0`") + if key == "others_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `others_per_sec`, must be a value greater than or equal to `0`") + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ArrayPerformanceByLink`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ArrayPerformanceByLink`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ArrayPerformanceByLink`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(ArrayPerformanceByLink, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, ArrayPerformanceByLink): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/array_performance_by_link_get_response.py b/pypureclient/flasharray/FA_2_26/models/array_performance_by_link_get_response.py new file mode 100644 index 000000000..531964638 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/array_performance_by_link_get_response.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class ArrayPerformanceByLinkGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[ArrayPerformanceByLink]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.ArrayPerformanceByLink] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[ArrayPerformanceByLink]): Array-level front-end I/O performance metrics grouped by link. A link represents a set of arrays that an I/O operation depends on. + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ArrayPerformanceByLinkGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ArrayPerformanceByLinkGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ArrayPerformanceByLinkGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ArrayPerformanceByLinkGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(ArrayPerformanceByLinkGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, ArrayPerformanceByLinkGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/array_performance_by_link_response.py b/pypureclient/flasharray/FA_2_26/models/array_performance_by_link_response.py new file mode 100644 index 000000000..008e96c13 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/array_performance_by_link_response.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class ArrayPerformanceByLinkResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'items': 'list[ArrayPerformanceByLink]' + } + + attribute_map = { + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + items=None, # type: List[models.ArrayPerformanceByLink] + ): + """ + Keyword args: + items (list[ArrayPerformanceByLink]): Array-level front-end I/O performance metrics grouped by link. A link represents a set of arrays that an I/O operation depends on. + """ + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ArrayPerformanceByLinkResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ArrayPerformanceByLinkResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ArrayPerformanceByLinkResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ArrayPerformanceByLinkResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(ArrayPerformanceByLinkResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, ArrayPerformanceByLinkResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/array_performance_get_response.py b/pypureclient/flasharray/FA_2_26/models/array_performance_get_response.py new file mode 100644 index 000000000..f0d897e1a --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/array_performance_get_response.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class ArrayPerformanceGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[ArrayPerformance]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.ArrayPerformance] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[ArrayPerformance]) + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ArrayPerformanceGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ArrayPerformanceGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ArrayPerformanceGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ArrayPerformanceGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(ArrayPerformanceGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, ArrayPerformanceGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/array_response.py b/pypureclient/flasharray/FA_2_26/models/array_response.py new file mode 100644 index 000000000..337fc1102 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/array_response.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class ArrayResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'items': 'list[Arrays]' + } + + attribute_map = { + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + items=None, # type: List[models.Arrays] + ): + """ + Keyword args: + items (list[Arrays]) + """ + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ArrayResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ArrayResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ArrayResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ArrayResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(ArrayResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, ArrayResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/array_space.py b/pypureclient/flasharray/FA_2_26/models/array_space.py new file mode 100644 index 000000000..5e235d9dc --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/array_space.py @@ -0,0 +1,159 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class ArraySpace(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'id': 'str', + 'name': 'str', + 'capacity': 'int', + 'parity': 'float', + 'space': 'Space', + 'time': 'int' + } + + attribute_map = { + 'id': 'id', + 'name': 'name', + 'capacity': 'capacity', + 'parity': 'parity', + 'space': 'space', + 'time': 'time' + } + + required_args = { + } + + def __init__( + self, + id=None, # type: str + name=None, # type: str + capacity=None, # type: int + parity=None, # type: float + space=None, # type: models.Space + time=None, # type: int + ): + """ + Keyword args: + id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. + name (str): A locally unique, system-generated name. The name cannot be modified. + capacity (int): The usable capacity in bytes. + parity (float): A representation of data redundancy on the array. Data redundancy is rebuilt automatically by the system whenever parity is less than 1.0. + space (Space) + time (int) + """ + if id is not None: + self.id = id + if name is not None: + self.name = name + if capacity is not None: + self.capacity = capacity + if parity is not None: + self.parity = parity + if space is not None: + self.space = space + if time is not None: + self.time = time + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ArraySpace`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ArraySpace`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ArraySpace`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ArraySpace`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(ArraySpace, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, ArraySpace): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/array_space_get_response.py b/pypureclient/flasharray/FA_2_26/models/array_space_get_response.py new file mode 100644 index 000000000..356a2ecdd --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/array_space_get_response.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class ArraySpaceGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[ArraySpace]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.ArraySpace] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[ArraySpace]) + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ArraySpaceGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ArraySpaceGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ArraySpaceGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ArraySpaceGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(ArraySpaceGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, ArraySpaceGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/arrayencryption_data_at_rest.py b/pypureclient/flasharray/FA_2_26/models/arrayencryption_data_at_rest.py new file mode 100644 index 000000000..a8a9f686c --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/arrayencryption_data_at_rest.py @@ -0,0 +1,135 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class ArrayencryptionDataAtRest(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'algorithm': 'str', + 'enabled': 'bool' + } + + attribute_map = { + 'algorithm': 'algorithm', + 'enabled': 'enabled' + } + + required_args = { + } + + def __init__( + self, + algorithm=None, # type: str + enabled=None, # type: bool + ): + """ + Keyword args: + algorithm (str): The algorithm used to encrypt data on the array. Values include `AES-256-CTR` and `null`. + enabled (bool): Returns a value of `true` if data at rest encryption is enabled on the array. + """ + if algorithm is not None: + self.algorithm = algorithm + if enabled is not None: + self.enabled = enabled + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ArrayencryptionDataAtRest`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ArrayencryptionDataAtRest`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ArrayencryptionDataAtRest`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ArrayencryptionDataAtRest`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(ArrayencryptionDataAtRest, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, ArrayencryptionDataAtRest): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/arrays.py b/pypureclient/flasharray/FA_2_26/models/arrays.py new file mode 100644 index 000000000..a3b9ebdc7 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/arrays.py @@ -0,0 +1,225 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class Arrays(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'id': 'str', + 'name': 'str', + 'as_of': 'int', + 'banner': 'str', + 'capacity': 'int', + 'console_lock_enabled': 'bool', + 'encryption': 'ArrayEncryption', + 'eradication_config': 'EradicationConfig', + 'idle_timeout': 'int', + 'ntp_servers': 'list[str]', + 'ntp_symmetric_key': 'str', + 'os': 'str', + 'parity': 'float', + 'scsi_timeout': 'int', + 'space': 'Space', + 'time_zone': 'str', + 'version': 'str' + } + + attribute_map = { + 'id': 'id', + 'name': 'name', + 'as_of': '_as_of', + 'banner': 'banner', + 'capacity': 'capacity', + 'console_lock_enabled': 'console_lock_enabled', + 'encryption': 'encryption', + 'eradication_config': 'eradication_config', + 'idle_timeout': 'idle_timeout', + 'ntp_servers': 'ntp_servers', + 'ntp_symmetric_key': 'ntp_symmetric_key', + 'os': 'os', + 'parity': 'parity', + 'scsi_timeout': 'scsi_timeout', + 'space': 'space', + 'time_zone': 'time_zone', + 'version': 'version' + } + + required_args = { + } + + def __init__( + self, + id=None, # type: str + name=None, # type: str + as_of=None, # type: int + banner=None, # type: str + capacity=None, # type: int + console_lock_enabled=None, # type: bool + encryption=None, # type: models.ArrayEncryption + eradication_config=None, # type: models.EradicationConfig + idle_timeout=None, # type: int + ntp_servers=None, # type: List[str] + ntp_symmetric_key=None, # type: str + os=None, # type: str + parity=None, # type: float + scsi_timeout=None, # type: int + space=None, # type: models.Space + time_zone=None, # type: str + version=None, # type: str + ): + """ + Keyword args: + id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. + name (str): A user-specified name. The name must be locally unique and can be changed. + as_of (int): The time in milliseconds since UNIX epoch. + banner (str) + capacity (int): The usable capacity in bytes. + console_lock_enabled (bool) + encryption (ArrayEncryption) + eradication_config (EradicationConfig) + idle_timeout (int): The idle timeout in milliseconds. Valid values include `0` and any multiple of `60000` in the range of `300000` and `10800000`. Any other values are rounded down to the nearest multiple of `60000`. + ntp_servers (list[str]) + ntp_symmetric_key (str): The text of ntp symmetric authentication key. Supported formats include a hex-encoded string no longer than 64 characters, or an ASCII string no longer than 20 characters, excluding \"#\". Any configured key will be masked as \"****\" on return. + os (str): Specifies the operating system. Valid values are `Purity`, `Purity//FA`, and `Purity//FB`. + parity (float): A representation of data redundancy on the array. Data redundancy is rebuilt automatically by the system whenever parity is less than `1.0`. + scsi_timeout (int): The SCSI timeout. If not specified, defaults to `60s`. + space (Space) + time_zone (str): The time zone of the array. + version (str) + """ + if id is not None: + self.id = id + if name is not None: + self.name = name + if as_of is not None: + self.as_of = as_of + if banner is not None: + self.banner = banner + if capacity is not None: + self.capacity = capacity + if console_lock_enabled is not None: + self.console_lock_enabled = console_lock_enabled + if encryption is not None: + self.encryption = encryption + if eradication_config is not None: + self.eradication_config = eradication_config + if idle_timeout is not None: + self.idle_timeout = idle_timeout + if ntp_servers is not None: + self.ntp_servers = ntp_servers + if ntp_symmetric_key is not None: + self.ntp_symmetric_key = ntp_symmetric_key + if os is not None: + self.os = os + if parity is not None: + self.parity = parity + if scsi_timeout is not None: + self.scsi_timeout = scsi_timeout + if space is not None: + self.space = space + if time_zone is not None: + self.time_zone = time_zone + if version is not None: + self.version = version + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Arrays`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Arrays`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Arrays`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Arrays`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(Arrays, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, Arrays): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/audit.py b/pypureclient/flasharray/FA_2_26/models/audit.py new file mode 100644 index 000000000..184c5bcb9 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/audit.py @@ -0,0 +1,177 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class Audit(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'id': 'str', + 'name': 'str', + 'arguments': 'str', + 'command': 'str', + 'origin': 'FixedReference', + 'subcommand': 'str', + 'time': 'int', + 'user': 'str', + 'user_interface': 'str' + } + + attribute_map = { + 'id': 'id', + 'name': 'name', + 'arguments': 'arguments', + 'command': 'command', + 'origin': 'origin', + 'subcommand': 'subcommand', + 'time': 'time', + 'user': 'user', + 'user_interface': 'user_interface' + } + + required_args = { + } + + def __init__( + self, + id=None, # type: str + name=None, # type: str + arguments=None, # type: str + command=None, # type: str + origin=None, # type: models.FixedReference + subcommand=None, # type: str + time=None, # type: int + user=None, # type: str + user_interface=None, # type: str + ): + """ + Keyword args: + id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. + name (str): A locally unique, system-generated name. The name cannot be modified. + arguments (str): The arguments provided to the command. + command (str): The top level command that starts with the string \"pure\" as a convention. + origin (FixedReference): The array from which the command originated. + subcommand (str): The `command` and `subcommand` combination determines which action the user attempted to perform. + time (int): The time at which the command was run in milliseconds since the UNIX epoch. + user (str): The user who ran the command. + user_interface (str): The user interface through which the user session event was performed. Valid values are `CLI`, `GUI`, and `REST`. + """ + if id is not None: + self.id = id + if name is not None: + self.name = name + if arguments is not None: + self.arguments = arguments + if command is not None: + self.command = command + if origin is not None: + self.origin = origin + if subcommand is not None: + self.subcommand = subcommand + if time is not None: + self.time = time + if user is not None: + self.user = user + if user_interface is not None: + self.user_interface = user_interface + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Audit`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Audit`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Audit`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Audit`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(Audit, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, Audit): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/audit_get_response.py b/pypureclient/flasharray/FA_2_26/models/audit_get_response.py new file mode 100644 index 000000000..5342b4487 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/audit_get_response.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class AuditGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[Audit]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.Audit] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[Audit]) + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AuditGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AuditGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AuditGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AuditGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(AuditGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, AuditGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/audit_response.py b/pypureclient/flasharray/FA_2_26/models/audit_response.py new file mode 100644 index 000000000..11669bc52 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/audit_response.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class AuditResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'items': 'list[Audit]' + } + + attribute_map = { + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + items=None, # type: List[models.Audit] + ): + """ + Keyword args: + items (list[Audit]) + """ + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AuditResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AuditResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AuditResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `AuditResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(AuditResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, AuditResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/built_in.py b/pypureclient/flasharray/FA_2_26/models/built_in.py new file mode 100644 index 000000000..59d6de6e2 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/built_in.py @@ -0,0 +1,135 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class BuiltIn(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'id': 'str', + 'name': 'str' + } + + attribute_map = { + 'id': 'id', + 'name': 'name' + } + + required_args = { + } + + def __init__( + self, + id=None, # type: str + name=None, # type: str + ): + """ + Keyword args: + id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. + name (str): A locally unique, system-generated name. The name cannot be modified. + """ + if id is not None: + self.id = id + if name is not None: + self.name = name + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `BuiltIn`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `BuiltIn`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `BuiltIn`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `BuiltIn`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(BuiltIn, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, BuiltIn): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/built_in_relationship.py b/pypureclient/flasharray/FA_2_26/models/built_in_relationship.py new file mode 100644 index 000000000..f56212163 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/built_in_relationship.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class BuiltInRelationship(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'id': 'str' + } + + attribute_map = { + 'id': 'id' + } + + required_args = { + } + + def __init__( + self, + id=None, # type: str + ): + """ + Keyword args: + id (str): A non-modifiable, globally unique ID chosen by the system. + """ + if id is not None: + self.id = id + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `BuiltInRelationship`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `BuiltInRelationship`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `BuiltInRelationship`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `BuiltInRelationship`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(BuiltInRelationship, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, BuiltInRelationship): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/built_in_resource_no_id.py b/pypureclient/flasharray/FA_2_26/models/built_in_resource_no_id.py new file mode 100644 index 000000000..1b0a9f349 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/built_in_resource_no_id.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class BuiltInResourceNoId(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'name': 'str' + } + + attribute_map = { + 'name': 'name' + } + + required_args = { + } + + def __init__( + self, + name=None, # type: str + ): + """ + Keyword args: + name (str): A locally unique, system-generated name. The name cannot be modified. + """ + if name is not None: + self.name = name + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `BuiltInResourceNoId`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `BuiltInResourceNoId`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `BuiltInResourceNoId`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `BuiltInResourceNoId`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(BuiltInResourceNoId, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, BuiltInResourceNoId): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/certificate.py b/pypureclient/flasharray/FA_2_26/models/certificate.py new file mode 100644 index 000000000..2b2cf4781 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/certificate.py @@ -0,0 +1,219 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class Certificate(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'name': 'str', + 'certificate': 'str', + 'common_name': 'str', + 'country': 'str', + 'email': 'str', + 'intermediate_certificate': 'str', + 'issued_by': 'str', + 'issued_to': 'str', + 'key_size': 'int', + 'locality': 'str', + 'organization': 'str', + 'organizational_unit': 'str', + 'state': 'str', + 'status': 'str', + 'valid_from': 'int', + 'valid_to': 'int' + } + + attribute_map = { + 'name': 'name', + 'certificate': 'certificate', + 'common_name': 'common_name', + 'country': 'country', + 'email': 'email', + 'intermediate_certificate': 'intermediate_certificate', + 'issued_by': 'issued_by', + 'issued_to': 'issued_to', + 'key_size': 'key_size', + 'locality': 'locality', + 'organization': 'organization', + 'organizational_unit': 'organizational_unit', + 'state': 'state', + 'status': 'status', + 'valid_from': 'valid_from', + 'valid_to': 'valid_to' + } + + required_args = { + } + + def __init__( + self, + name=None, # type: str + certificate=None, # type: str + common_name=None, # type: str + country=None, # type: str + email=None, # type: str + intermediate_certificate=None, # type: str + issued_by=None, # type: str + issued_to=None, # type: str + key_size=None, # type: int + locality=None, # type: str + organization=None, # type: str + organizational_unit=None, # type: str + state=None, # type: str + status=None, # type: str + valid_from=None, # type: int + valid_to=None, # type: int + ): + """ + Keyword args: + name (str): A locally unique, system-generated name. The name cannot be modified. + certificate (str): The text of the certificate. + common_name (str): The common name field listed in the certificate. + country (str): Two-letter country (ISO) code listed in the certificate. + email (str): The email field listed in the certificate. + intermediate_certificate (str): The text of the intermediate certificate chains. + issued_by (str): The party that issued the certificate. + issued_to (str): The party to whom the certificate is issued. + key_size (int): The size of the private key for the certificate in bits. Default is 2048 bits. + locality (str): The locality field listed in the certificate. + organization (str): The organization field listed in the certificate. + organizational_unit (str): The organizational unit field listed in the certificate. + state (str): The state/province field listed in the certificate. + status (str): The type of certificate. Valid values are `self-signed` and `imported`. + valid_from (int): The date when the certificate starts being valid. + valid_to (int): The date of when the certificate stops being valid. + """ + if name is not None: + self.name = name + if certificate is not None: + self.certificate = certificate + if common_name is not None: + self.common_name = common_name + if country is not None: + self.country = country + if email is not None: + self.email = email + if intermediate_certificate is not None: + self.intermediate_certificate = intermediate_certificate + if issued_by is not None: + self.issued_by = issued_by + if issued_to is not None: + self.issued_to = issued_to + if key_size is not None: + self.key_size = key_size + if locality is not None: + self.locality = locality + if organization is not None: + self.organization = organization + if organizational_unit is not None: + self.organizational_unit = organizational_unit + if state is not None: + self.state = state + if status is not None: + self.status = status + if valid_from is not None: + self.valid_from = valid_from + if valid_to is not None: + self.valid_to = valid_to + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Certificate`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Certificate`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Certificate`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Certificate`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(Certificate, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, Certificate): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/certificate_get_response.py b/pypureclient/flasharray/FA_2_26/models/certificate_get_response.py new file mode 100644 index 000000000..88ad086b3 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/certificate_get_response.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class CertificateGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[Certificate]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.Certificate] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[Certificate]) + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `CertificateGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `CertificateGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `CertificateGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `CertificateGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(CertificateGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, CertificateGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/certificate_post.py b/pypureclient/flasharray/FA_2_26/models/certificate_post.py new file mode 100644 index 000000000..cf51a81e1 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/certificate_post.py @@ -0,0 +1,237 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class CertificatePost(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'name': 'str', + 'certificate': 'str', + 'common_name': 'str', + 'country': 'str', + 'email': 'str', + 'intermediate_certificate': 'str', + 'issued_by': 'str', + 'issued_to': 'str', + 'key_size': 'int', + 'locality': 'str', + 'organization': 'str', + 'organizational_unit': 'str', + 'state': 'str', + 'status': 'str', + 'valid_from': 'int', + 'valid_to': 'int', + 'days': 'int', + 'key': 'str', + 'passphrase': 'str' + } + + attribute_map = { + 'name': 'name', + 'certificate': 'certificate', + 'common_name': 'common_name', + 'country': 'country', + 'email': 'email', + 'intermediate_certificate': 'intermediate_certificate', + 'issued_by': 'issued_by', + 'issued_to': 'issued_to', + 'key_size': 'key_size', + 'locality': 'locality', + 'organization': 'organization', + 'organizational_unit': 'organizational_unit', + 'state': 'state', + 'status': 'status', + 'valid_from': 'valid_from', + 'valid_to': 'valid_to', + 'days': 'days', + 'key': 'key', + 'passphrase': 'passphrase' + } + + required_args = { + } + + def __init__( + self, + name=None, # type: str + certificate=None, # type: str + common_name=None, # type: str + country=None, # type: str + email=None, # type: str + intermediate_certificate=None, # type: str + issued_by=None, # type: str + issued_to=None, # type: str + key_size=None, # type: int + locality=None, # type: str + organization=None, # type: str + organizational_unit=None, # type: str + state=None, # type: str + status=None, # type: str + valid_from=None, # type: int + valid_to=None, # type: int + days=None, # type: int + key=None, # type: str + passphrase=None, # type: str + ): + """ + Keyword args: + name (str): A locally unique, system-generated name. The name cannot be modified. + certificate (str): The text of the certificate. + common_name (str): The common name field listed in the certificate. + country (str): Two-letter country (ISO) code listed in the certificate. + email (str): The email field listed in the certificate. + intermediate_certificate (str): The text of the intermediate certificate chains. + issued_by (str): The party that issued the certificate. + issued_to (str): The party to whom the certificate is issued. + key_size (int): The size of the private key for the certificate in bits. Default is 2048 bits. + locality (str): The locality field listed in the certificate. + organization (str): The organization field listed in the certificate. + organizational_unit (str): The organizational unit field listed in the certificate. + state (str): The state/province field listed in the certificate. + status (str): The type of certificate. Valid values are `self-signed` and `imported`. + valid_from (int): The date when the certificate starts being valid. + valid_to (int): The date of when the certificate stops being valid. + days (int): The number of days that the self-signed certificate is valid. If not specified, defaults to 3650. + key (str): The text of private key. + passphrase (str): The passphrase used to encrypt `private_key`. + """ + if name is not None: + self.name = name + if certificate is not None: + self.certificate = certificate + if common_name is not None: + self.common_name = common_name + if country is not None: + self.country = country + if email is not None: + self.email = email + if intermediate_certificate is not None: + self.intermediate_certificate = intermediate_certificate + if issued_by is not None: + self.issued_by = issued_by + if issued_to is not None: + self.issued_to = issued_to + if key_size is not None: + self.key_size = key_size + if locality is not None: + self.locality = locality + if organization is not None: + self.organization = organization + if organizational_unit is not None: + self.organizational_unit = organizational_unit + if state is not None: + self.state = state + if status is not None: + self.status = status + if valid_from is not None: + self.valid_from = valid_from + if valid_to is not None: + self.valid_to = valid_to + if days is not None: + self.days = days + if key is not None: + self.key = key + if passphrase is not None: + self.passphrase = passphrase + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `CertificatePost`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `CertificatePost`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `CertificatePost`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `CertificatePost`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(CertificatePost, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, CertificatePost): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/certificate_response.py b/pypureclient/flasharray/FA_2_26/models/certificate_response.py new file mode 100644 index 000000000..bed66004a --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/certificate_response.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class CertificateResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'items': 'list[Certificate]' + } + + attribute_map = { + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + items=None, # type: List[models.Certificate] + ): + """ + Keyword args: + items (list[Certificate]) + """ + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `CertificateResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `CertificateResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `CertificateResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `CertificateResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(CertificateResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, CertificateResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/certificate_signing_request.py b/pypureclient/flasharray/FA_2_26/models/certificate_signing_request.py new file mode 100644 index 000000000..83fbe1a63 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/certificate_signing_request.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class CertificateSigningRequest(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'certificate_signing_request': 'str' + } + + attribute_map = { + 'certificate_signing_request': 'certificate_signing_request' + } + + required_args = { + } + + def __init__( + self, + certificate_signing_request=None, # type: str + ): + """ + Keyword args: + certificate_signing_request (str): The text of a new certificate signing request. + """ + if certificate_signing_request is not None: + self.certificate_signing_request = certificate_signing_request + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `CertificateSigningRequest`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `CertificateSigningRequest`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `CertificateSigningRequest`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `CertificateSigningRequest`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(CertificateSigningRequest, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, CertificateSigningRequest): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/certificate_signing_request_post.py b/pypureclient/flasharray/FA_2_26/models/certificate_signing_request_post.py new file mode 100644 index 000000000..65791a835 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/certificate_signing_request_post.py @@ -0,0 +1,171 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class CertificateSigningRequestPost(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'certificate': 'ReferenceNoId', + 'common_name': 'str', + 'country': 'str', + 'email': 'str', + 'locality': 'str', + 'organization': 'str', + 'organizational_unit': 'str', + 'state': 'str' + } + + attribute_map = { + 'certificate': 'certificate', + 'common_name': 'common_name', + 'country': 'country', + 'email': 'email', + 'locality': 'locality', + 'organization': 'organization', + 'organizational_unit': 'organizational_unit', + 'state': 'state' + } + + required_args = { + } + + def __init__( + self, + certificate=None, # type: models.ReferenceNoId + common_name=None, # type: str + country=None, # type: str + email=None, # type: str + locality=None, # type: str + organization=None, # type: str + organizational_unit=None, # type: str + state=None, # type: str + ): + """ + Keyword args: + certificate (ReferenceNoId) + common_name (str): The common name field listed in the certificate. + country (str): Two-letter country (ISO) code listed in the certificate. + email (str): The email field listed in the certificate. + locality (str): The locality field listed in the certificate. + organization (str): The organization field listed in the certificate. + organizational_unit (str): The organizational unit field listed in the certificate. + state (str): The state/province field listed in the certificate. + """ + if certificate is not None: + self.certificate = certificate + if common_name is not None: + self.common_name = common_name + if country is not None: + self.country = country + if email is not None: + self.email = email + if locality is not None: + self.locality = locality + if organization is not None: + self.organization = organization + if organizational_unit is not None: + self.organizational_unit = organizational_unit + if state is not None: + self.state = state + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `CertificateSigningRequestPost`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `CertificateSigningRequestPost`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `CertificateSigningRequestPost`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `CertificateSigningRequestPost`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(CertificateSigningRequestPost, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, CertificateSigningRequestPost): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/certificate_signing_request_response.py b/pypureclient/flasharray/FA_2_26/models/certificate_signing_request_response.py new file mode 100644 index 000000000..fd246d508 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/certificate_signing_request_response.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class CertificateSigningRequestResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'items': 'list[CertificateSigningRequest]' + } + + attribute_map = { + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + items=None, # type: List[models.CertificateSigningRequest] + ): + """ + Keyword args: + items (list[CertificateSigningRequest]) + """ + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `CertificateSigningRequestResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `CertificateSigningRequestResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `CertificateSigningRequestResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `CertificateSigningRequestResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(CertificateSigningRequestResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, CertificateSigningRequestResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/chap.py b/pypureclient/flasharray/FA_2_26/models/chap.py new file mode 100644 index 000000000..89ee14d6b --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/chap.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class Chap(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'host_password': 'str', + 'host_user': 'str', + 'target_password': 'str', + 'target_user': 'str' + } + + attribute_map = { + 'host_password': 'host_password', + 'host_user': 'host_user', + 'target_password': 'target_password', + 'target_user': 'target_user' + } + + required_args = { + } + + def __init__( + self, + host_password=None, # type: str + host_user=None, # type: str + target_password=None, # type: str + target_user=None, # type: str + ): + """ + Keyword args: + host_password (str): The host password for CHAP authentication. The password must be between 12 and 255 characters (inclusive) and cannot be the same as the target password. + host_user (str): The host username for CHAP authentication. + target_password (str): The target password for CHAP authentication. The password must be between 12 and 255 characters (inclusive) and cannot be the same as the host password. + target_user (str): The target username for CHAP authentication. + """ + if host_password is not None: + self.host_password = host_password + if host_user is not None: + self.host_user = host_user + if target_password is not None: + self.target_password = target_password + if target_user is not None: + self.target_user = target_user + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Chap`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Chap`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Chap`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Chap`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(Chap, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, Chap): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/cloud_provider_tag.py b/pypureclient/flasharray/FA_2_26/models/cloud_provider_tag.py new file mode 100644 index 000000000..7337d0d60 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/cloud_provider_tag.py @@ -0,0 +1,141 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class CloudProviderTag(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'key': 'str', + 'value': 'str', + 'details': 'str' + } + + attribute_map = { + 'key': 'key', + 'value': 'value', + 'details': 'details' + } + + required_args = { + } + + def __init__( + self, + key=None, # type: str + value=None, # type: str + details=None, # type: str + ): + """ + Keyword args: + key (str): Key of the tag. Supports UTF-8 Unicode characters. Please refer to the offical document from cloud providers for limitations. + value (str): Value of the tag. Supports UTF-8 Unicode characters. Please refer to the offical document from cloud providers for limitations. + details (str): Details about the status of the tag if not healthy. + """ + if key is not None: + self.key = key + if value is not None: + self.value = value + if details is not None: + self.details = details + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `CloudProviderTag`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `CloudProviderTag`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `CloudProviderTag`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `CloudProviderTag`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(CloudProviderTag, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, CloudProviderTag): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/cloud_provider_tag_get_response.py b/pypureclient/flasharray/FA_2_26/models/cloud_provider_tag_get_response.py new file mode 100644 index 000000000..f27ef27a8 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/cloud_provider_tag_get_response.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class CloudProviderTagGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[CloudProviderTag]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.CloudProviderTag] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[CloudProviderTag]) + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `CloudProviderTagGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `CloudProviderTagGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `CloudProviderTagGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `CloudProviderTagGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(CloudProviderTagGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, CloudProviderTagGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/cloud_provider_tag_response.py b/pypureclient/flasharray/FA_2_26/models/cloud_provider_tag_response.py new file mode 100644 index 000000000..e764d7bed --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/cloud_provider_tag_response.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class CloudProviderTagResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'items': 'list[CloudProviderTag]' + } + + attribute_map = { + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + items=None, # type: List[models.CloudProviderTag] + ): + """ + Keyword args: + items (list[CloudProviderTag]) + """ + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `CloudProviderTagResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `CloudProviderTagResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `CloudProviderTagResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `CloudProviderTagResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(CloudProviderTagResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, CloudProviderTagResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/connection.py b/pypureclient/flasharray/FA_2_26/models/connection.py new file mode 100644 index 000000000..423de8298 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/connection.py @@ -0,0 +1,153 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class Connection(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'host': 'ReferenceNoId', + 'host_group': 'ReferenceNoId', + 'lun': 'int', + 'protocol_endpoint': 'Reference', + 'volume': 'FixedReference' + } + + attribute_map = { + 'host': 'host', + 'host_group': 'host_group', + 'lun': 'lun', + 'protocol_endpoint': 'protocol_endpoint', + 'volume': 'volume' + } + + required_args = { + } + + def __init__( + self, + host=None, # type: models.ReferenceNoId + host_group=None, # type: models.ReferenceNoId + lun=None, # type: int + protocol_endpoint=None, # type: models.Reference + volume=None, # type: models.FixedReference + ): + """ + Keyword args: + host (ReferenceNoId) + host_group (ReferenceNoId) + lun (int): The logical unit number (LUN) by which the specified hosts are to address the specified volume. LUN can be in one of two formats: a simple LUN, or a LUN and Sublun with virtual volumes. A LUN and Sublun are integers in the range of 1 to 4095. The first format is simply the LUN number. The second format is a single int64 combining both ((LUN << 32) + Sublun) or (LUN * 4294967296 + Sublun). In the FA UI, a combined LUN and Sublun is represented as \"LUN:Sublun\". Example: LUN = 30, Sublun = 2, LUN:Sublun = 30:2 Combined: (30 * 4294967296 + 2) == 128849018882. In REST it will be returned as 128849018882. To automatically assign a LUN to a private connection, the system starts at LUN '1' and counts up to the maximum LUN '4095', assigning the first available LUN to the connection. For shared connections, the system starts at LUN '254' and counts down to the minimum LUN '1', assigning the first available LUN to the connection. If all LUNs in the '[1...254]' range are taken, the system starts at LUN '255' and counts up to the maximum LUN '4095', assigning the first available LUN to the connection. The maximum int64 LUN:Sublun value is 17587891081215. + protocol_endpoint (Reference): A protocol endpoint (also known as a conglomerate volume) which acts as a proxy through which virtual volumes are created and then connected to VMware ESXi hosts or host groups. The protocol endpoint itself does not serve I/Os; instead, its job is to form connections between FlashArray volumes and ESXi hosts and host groups. + volume (FixedReference): A container that manages the storage space on the array. + """ + if host is not None: + self.host = host + if host_group is not None: + self.host_group = host_group + if lun is not None: + self.lun = lun + if protocol_endpoint is not None: + self.protocol_endpoint = protocol_endpoint + if volume is not None: + self.volume = volume + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Connection`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Connection`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Connection`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Connection`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(Connection, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, Connection): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/connection_get_response.py b/pypureclient/flasharray/FA_2_26/models/connection_get_response.py new file mode 100644 index 000000000..6758d8bb0 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/connection_get_response.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class ConnectionGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[Connection]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.Connection] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[Connection]) + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ConnectionGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ConnectionGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ConnectionGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ConnectionGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(ConnectionGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, ConnectionGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/connection_post.py b/pypureclient/flasharray/FA_2_26/models/connection_post.py new file mode 100644 index 000000000..445c4448a --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/connection_post.py @@ -0,0 +1,140 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class ConnectionPost(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'lun': 'int', + 'protocol_endpoint': 'Reference' + } + + attribute_map = { + 'lun': 'lun', + 'protocol_endpoint': 'protocol_endpoint' + } + + required_args = { + } + + def __init__( + self, + lun=None, # type: int + protocol_endpoint=None, # type: models.Reference + ): + """ + Keyword args: + lun (int): The logical unit number (LUN) by which the specified hosts are to address the specified volume. If the LUN is not specified, the system automatically assigns a LUN to the connection. To automatically assign a LUN to a private connection, the system starts at LUN `1` and counts up to the maximum LUN `4095`, assigning the first available LUN to the connection. For shared connections, the system starts at LUN `254` and counts down to the minimum LUN `1`, assigning the first available LUN to the connection. If all LUNs in the `[1...254]` range are taken, the system starts at LUN `255` and counts up to the maximum LUN `4095`, assigning the first available LUN to the connection. + protocol_endpoint (Reference): A protocol endpoint (also known as a conglomerate volume) which acts as a proxy through which virtual volumes are created and then connected to VMware ESXi hosts or host groups. The protocol endpoint itself does not serve I/Os; instead, its job is to form connections between FlashArray volumes and ESXi hosts and host groups. + """ + if lun is not None: + self.lun = lun + if protocol_endpoint is not None: + self.protocol_endpoint = protocol_endpoint + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ConnectionPost`".format(key)) + if key == "lun" and value is not None: + if value > 4095: + raise ValueError("Invalid value for `lun`, value must be less than or equal to `4095`") + if value < 1: + raise ValueError("Invalid value for `lun`, must be a value greater than or equal to `1`") + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ConnectionPost`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ConnectionPost`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ConnectionPost`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(ConnectionPost, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, ConnectionPost): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/connection_response.py b/pypureclient/flasharray/FA_2_26/models/connection_response.py new file mode 100644 index 000000000..7ed146524 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/connection_response.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class ConnectionResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'items': 'list[Connection]' + } + + attribute_map = { + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + items=None, # type: List[models.Connection] + ): + """ + Keyword args: + items (list[Connection]) + """ + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ConnectionResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ConnectionResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ConnectionResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ConnectionResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(ConnectionResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, ConnectionResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/container_default_protection.py b/pypureclient/flasharray/FA_2_26/models/container_default_protection.py new file mode 100644 index 000000000..7c79015a6 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/container_default_protection.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class ContainerDefaultProtection(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'id': 'str', + 'name': 'str', + 'type': 'str', + 'default_protections': 'list[DefaultProtectionReference]' + } + + attribute_map = { + 'id': 'id', + 'name': 'name', + 'type': 'type', + 'default_protections': 'default_protections' + } + + required_args = { + } + + def __init__( + self, + id=None, # type: str + name=None, # type: str + type=None, # type: str + default_protections=None, # type: List[models.DefaultProtectionReference] + ): + """ + Keyword args: + id (str): The id of an administrative domain, a data container, and a namespace for volumes and protection groups. Values can be `pod id` or `null`. `Null` represents the local array id. + name (str): The name of an administrative domain, a data container, and a namespace for volumes and protection groups. Values can be `pod name` or `null`. `null` represents the local array name. + type (str): The type of an administrative domain, a data container, and a namespace for volumes and protection groups. Values can be `pod` or `null`. `null` represents the local array type. + default_protections (list[DefaultProtectionReference]): The default protection that is applied to newly created volumes. Volumes can opt out of the default protection at creation. The pod's `default_protections` defaults to the array's `default_protections` at pod creation. To clear the list of default protections, set to an empty list `[]`. + """ + if id is not None: + self.id = id + if name is not None: + self.name = name + if type is not None: + self.type = type + if default_protections is not None: + self.default_protections = default_protections + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ContainerDefaultProtection`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ContainerDefaultProtection`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ContainerDefaultProtection`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ContainerDefaultProtection`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(ContainerDefaultProtection, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, ContainerDefaultProtection): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/container_default_protection_get_response.py b/pypureclient/flasharray/FA_2_26/models/container_default_protection_get_response.py new file mode 100644 index 000000000..54a3076e4 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/container_default_protection_get_response.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class ContainerDefaultProtectionGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[ContainerDefaultProtection]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.ContainerDefaultProtection] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[ContainerDefaultProtection]) + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ContainerDefaultProtectionGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ContainerDefaultProtectionGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ContainerDefaultProtectionGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ContainerDefaultProtectionGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(ContainerDefaultProtectionGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, ContainerDefaultProtectionGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/container_default_protection_response.py b/pypureclient/flasharray/FA_2_26/models/container_default_protection_response.py new file mode 100644 index 000000000..6b134c4f2 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/container_default_protection_response.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class ContainerDefaultProtectionResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'items': 'list[ContainerDefaultProtection]' + } + + attribute_map = { + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + items=None, # type: List[models.ContainerDefaultProtection] + ): + """ + Keyword args: + items (list[ContainerDefaultProtection]) + """ + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ContainerDefaultProtectionResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ContainerDefaultProtectionResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ContainerDefaultProtectionResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ContainerDefaultProtectionResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(ContainerDefaultProtectionResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, ContainerDefaultProtectionResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/controller.py b/pypureclient/flasharray/FA_2_26/models/controller.py new file mode 100644 index 000000000..49c3f66fb --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/controller.py @@ -0,0 +1,159 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class Controller(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'name': 'str', + 'mode': 'str', + 'model': 'str', + 'status': 'str', + 'type': 'str', + 'version': 'str' + } + + attribute_map = { + 'name': 'name', + 'mode': 'mode', + 'model': 'model', + 'status': 'status', + 'type': 'type', + 'version': 'version' + } + + required_args = { + } + + def __init__( + self, + name=None, # type: str + mode=None, # type: str + model=None, # type: str + status=None, # type: str + type=None, # type: str + version=None, # type: str + ): + """ + Keyword args: + name (str): A locally unique, system-generated name. The name cannot be modified. + mode (str): Mode of controller. Values include `not present`, `offline`, `primary`, and `secondary`. + model (str) + status (str): Status of controller. Values include `not ready`, `ready`, `unknown`, and `updating`. + type (str): Type of controller. Values include `array_controller` and `shelf_controller`. + version (str) + """ + if name is not None: + self.name = name + if mode is not None: + self.mode = mode + if model is not None: + self.model = model + if status is not None: + self.status = status + if type is not None: + self.type = type + if version is not None: + self.version = version + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Controller`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Controller`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Controller`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Controller`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(Controller, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, Controller): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/controller_get_response.py b/pypureclient/flasharray/FA_2_26/models/controller_get_response.py new file mode 100644 index 000000000..8e374bcff --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/controller_get_response.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class ControllerGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[Controller]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.Controller] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[Controller]) + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ControllerGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ControllerGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ControllerGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ControllerGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(ControllerGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, ControllerGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/controllers.py b/pypureclient/flasharray/FA_2_26/models/controllers.py new file mode 100644 index 000000000..42e5ba517 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/controllers.py @@ -0,0 +1,159 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class Controllers(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'name': 'str', + 'mode': 'str', + 'model': 'str', + 'status': 'str', + 'type': 'str', + 'version': 'str' + } + + attribute_map = { + 'name': 'name', + 'mode': 'mode', + 'model': 'model', + 'status': 'status', + 'type': 'type', + 'version': 'version' + } + + required_args = { + } + + def __init__( + self, + name=None, # type: str + mode=None, # type: str + model=None, # type: str + status=None, # type: str + type=None, # type: str + version=None, # type: str + ): + """ + Keyword args: + name (str): A locally unique, system-generated name. The name cannot be modified. + mode (str): Mode of controller. Values include `not present`, `offline`, `primary`, and `secondary`. + model (str) + status (str): Status of controller. Values include `not ready`, `ready`, `unknown`, and `updating`. + type (str): Type of controller. Values include `array_controller` and `shelf_controller`. + version (str) + """ + if name is not None: + self.name = name + if mode is not None: + self.mode = mode + if model is not None: + self.model = model + if status is not None: + self.status = status + if type is not None: + self.type = type + if version is not None: + self.version = version + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Controllers`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Controllers`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Controllers`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Controllers`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(Controllers, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, Controllers): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/default_protection_reference.py b/pypureclient/flasharray/FA_2_26/models/default_protection_reference.py new file mode 100644 index 000000000..b66393808 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/default_protection_reference.py @@ -0,0 +1,141 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class DefaultProtectionReference(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'id': 'str', + 'name': 'str', + 'type': 'str' + } + + attribute_map = { + 'id': 'id', + 'name': 'name', + 'type': 'type' + } + + required_args = { + } + + def __init__( + self, + id=None, # type: str + name=None, # type: str + type=None, # type: str + ): + """ + Keyword args: + id (str): A globally unique, system-generated ID. The ID cannot be modified. + name (str): The resource name, such as volume name, pod name, snapshot name, and so on. + type (str): The type of default protection. Currently, the only valid value is `protection_group`. + """ + if id is not None: + self.id = id + if name is not None: + self.name = name + if type is not None: + self.type = type + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DefaultProtectionReference`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DefaultProtectionReference`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DefaultProtectionReference`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DefaultProtectionReference`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(DefaultProtectionReference, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, DefaultProtectionReference): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/destroyed_patch_post.py b/pypureclient/flasharray/FA_2_26/models/destroyed_patch_post.py new file mode 100644 index 000000000..495f4bca9 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/destroyed_patch_post.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class DestroyedPatchPost(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'destroyed': 'bool' + } + + attribute_map = { + 'destroyed': 'destroyed' + } + + required_args = { + } + + def __init__( + self, + destroyed=None, # type: bool + ): + """ + Keyword args: + destroyed (bool): If set to `true`, destroys a resource. Once set to `true`, the `time_remaining` value will display the amount of time left until the destroyed resource is permanently eradicated. Before the `time_remaining` period has elapsed, the destroyed resource can be recovered by setting `destroyed=false`. Once the `time_remaining` period has elapsed, the resource is permanently eradicated and can no longer be recovered. + """ + if destroyed is not None: + self.destroyed = destroyed + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DestroyedPatchPost`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DestroyedPatchPost`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DestroyedPatchPost`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DestroyedPatchPost`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(DestroyedPatchPost, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, DestroyedPatchPost): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/directory.py b/pypureclient/flasharray/FA_2_26/models/directory.py new file mode 100644 index 000000000..e9633dbd6 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/directory.py @@ -0,0 +1,183 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class Directory(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'id': 'str', + 'name': 'str', + 'created': 'int', + 'destroyed': 'bool', + 'directory_name': 'str', + 'file_system': 'FixedReference', + 'path': 'str', + 'space': 'Space', + 'time_remaining': 'int', + 'limited_by': 'LimitedBy' + } + + attribute_map = { + 'id': 'id', + 'name': 'name', + 'created': 'created', + 'destroyed': 'destroyed', + 'directory_name': 'directory_name', + 'file_system': 'file_system', + 'path': 'path', + 'space': 'space', + 'time_remaining': 'time_remaining', + 'limited_by': 'limited_by' + } + + required_args = { + } + + def __init__( + self, + id=None, # type: str + name=None, # type: str + created=None, # type: int + destroyed=None, # type: bool + directory_name=None, # type: str + file_system=None, # type: models.FixedReference + path=None, # type: str + space=None, # type: models.Space + time_remaining=None, # type: int + limited_by=None, # type: models.LimitedBy + ): + """ + Keyword args: + id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. + name (str): A user-specified name. The name must be locally unique and can be changed. + created (int): The managed directory creation time, measured in milliseconds since the UNIX epoch. + destroyed (bool): Returns a value of `true` if the managed directory has been destroyed and is pending eradication. The `time_remaining` value displays the amount of time left until the destroyed managed directory is permanently eradicated. Once the `time_remaining` period has elapsed, the managed directory is permanently eradicated and can no longer be recovered. + directory_name (str): The managed directory name without the file system name prefix. A full managed directory name is constructed in the form of `FILE_SYSTEM:DIR` where `FILE_SYSTEM` is the file system name and `DIR` is the value of this field. + file_system (FixedReference): The file system that this managed directory is in. + path (str): Absolute path of the managed directory in the file system. + space (Space): Displays size and space consumption information. + time_remaining (int): The amount of time left, measured in milliseconds until the destroyed managed directory is permanently eradicated. + limited_by (LimitedBy): The quota policy that is limiting usage on this managed directory. This policy defines the total amount of space provisioned to this managed directory and its descendants. The returned value contains two parts: the name of the policy and the managed directory to which the policy is attached. + """ + if id is not None: + self.id = id + if name is not None: + self.name = name + if created is not None: + self.created = created + if destroyed is not None: + self.destroyed = destroyed + if directory_name is not None: + self.directory_name = directory_name + if file_system is not None: + self.file_system = file_system + if path is not None: + self.path = path + if space is not None: + self.space = space + if time_remaining is not None: + self.time_remaining = time_remaining + if limited_by is not None: + self.limited_by = limited_by + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Directory`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Directory`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Directory`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Directory`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(Directory, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, Directory): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/directory_export.py b/pypureclient/flasharray/FA_2_26/models/directory_export.py new file mode 100644 index 000000000..283ddce3c --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/directory_export.py @@ -0,0 +1,159 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class DirectoryExport(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'destroyed': 'bool', + 'directory': 'FixedReferenceWithType', + 'enabled': 'bool', + 'export_name': 'str', + 'path': 'str', + 'policy': 'FixedReferenceWithType' + } + + attribute_map = { + 'destroyed': 'destroyed', + 'directory': 'directory', + 'enabled': 'enabled', + 'export_name': 'export_name', + 'path': 'path', + 'policy': 'policy' + } + + required_args = { + } + + def __init__( + self, + destroyed=None, # type: bool + directory=None, # type: models.FixedReferenceWithType + enabled=None, # type: bool + export_name=None, # type: str + path=None, # type: str + policy=None, # type: models.FixedReferenceWithType + ): + """ + Keyword args: + destroyed (bool): Returns a value of `true` if the managed directory of the export has been destroyed and is pending eradication. The export can be recovered by recovering the destroyed managed directory. + directory (FixedReferenceWithType): The managed directory of the export. + enabled (bool): Returns a value of `true` if the export policy that manages this export is enabled. + export_name (str): The export name for accessing this export. + path (str): The path of the exported managed directory. + policy (FixedReferenceWithType): The export policy that manages this export. An export can be managed by at most one export policy. + """ + if destroyed is not None: + self.destroyed = destroyed + if directory is not None: + self.directory = directory + if enabled is not None: + self.enabled = enabled + if export_name is not None: + self.export_name = export_name + if path is not None: + self.path = path + if policy is not None: + self.policy = policy + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectoryExport`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectoryExport`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectoryExport`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectoryExport`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(DirectoryExport, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, DirectoryExport): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/directory_export_get_response.py b/pypureclient/flasharray/FA_2_26/models/directory_export_get_response.py new file mode 100644 index 000000000..dcbaa48f7 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/directory_export_get_response.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class DirectoryExportGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[DirectoryExport]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.DirectoryExport] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[DirectoryExport]): Displays a list of all items after filtering. The values are displayed for each name if meaningful. + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectoryExportGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectoryExportGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectoryExportGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectoryExportGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(DirectoryExportGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, DirectoryExportGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/directory_export_post.py b/pypureclient/flasharray/FA_2_26/models/directory_export_post.py new file mode 100644 index 000000000..a2cb9b9b8 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/directory_export_post.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class DirectoryExportPost(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'export_name': 'str' + } + + attribute_map = { + 'export_name': 'export_name' + } + + required_args = { + } + + def __init__( + self, + export_name=None, # type: str + ): + """ + Keyword args: + export_name (str): The name of the export to create. Export names must be unique within the same protocol. + """ + if export_name is not None: + self.export_name = export_name + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectoryExportPost`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectoryExportPost`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectoryExportPost`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectoryExportPost`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(DirectoryExportPost, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, DirectoryExportPost): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/directory_export_response.py b/pypureclient/flasharray/FA_2_26/models/directory_export_response.py new file mode 100644 index 000000000..b332e3bf8 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/directory_export_response.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class DirectoryExportResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'items': 'list[DirectoryExport]' + } + + attribute_map = { + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + items=None, # type: List[models.DirectoryExport] + ): + """ + Keyword args: + items (list[DirectoryExport]): Displays a list of all items after filtering. The values are displayed for each name if meaningful. + """ + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectoryExportResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectoryExportResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectoryExportResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectoryExportResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(DirectoryExportResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, DirectoryExportResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/directory_get_response.py b/pypureclient/flasharray/FA_2_26/models/directory_get_response.py new file mode 100644 index 000000000..28b02db02 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/directory_get_response.py @@ -0,0 +1,153 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class DirectoryGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[Directory]', + 'total': 'list[Directory]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items', + 'total': 'total' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.Directory] + total=None, # type: List[models.Directory] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[Directory]): Displays a list of all items after filtering. If applicable, the values are displayed for each name. + total (list[Directory]): The aggregate value of all items after filtering. When applicable, the average value is displayed instead. If applicable, the values are displayed for each field. + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + if total is not None: + self.total = total + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectoryGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectoryGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectoryGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectoryGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(DirectoryGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, DirectoryGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/directory_lock_nlm_reclamation.py b/pypureclient/flasharray/FA_2_26/models/directory_lock_nlm_reclamation.py new file mode 100644 index 000000000..f0db5529a --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/directory_lock_nlm_reclamation.py @@ -0,0 +1,135 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class DirectoryLockNlmReclamation(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'start': 'int', + 'end': 'int' + } + + attribute_map = { + 'start': 'start', + 'end': 'end' + } + + required_args = { + } + + def __init__( + self, + start=None, # type: int + end=None, # type: int + ): + """ + Keyword args: + start (int): Start time of the NLM reclamation in milliseconds since the UNIX epoch. + end (int): End time of the NLM reclamation in milliseconds since the UNIX epoch. + """ + if start is not None: + self.start = start + if end is not None: + self.end = end + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectoryLockNlmReclamation`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectoryLockNlmReclamation`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectoryLockNlmReclamation`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectoryLockNlmReclamation`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(DirectoryLockNlmReclamation, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, DirectoryLockNlmReclamation): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/directory_lock_nlm_reclamation_response.py b/pypureclient/flasharray/FA_2_26/models/directory_lock_nlm_reclamation_response.py new file mode 100644 index 000000000..9360bee43 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/directory_lock_nlm_reclamation_response.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class DirectoryLockNlmReclamationResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'items': 'list[DirectoryLockNlmReclamation]' + } + + attribute_map = { + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + items=None, # type: List[models.DirectoryLockNlmReclamation] + ): + """ + Keyword args: + items (list[DirectoryLockNlmReclamation]) + """ + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectoryLockNlmReclamationResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectoryLockNlmReclamationResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectoryLockNlmReclamationResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectoryLockNlmReclamationResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(DirectoryLockNlmReclamationResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, DirectoryLockNlmReclamationResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/directory_patch.py b/pypureclient/flasharray/FA_2_26/models/directory_patch.py new file mode 100644 index 000000000..6e06359a8 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/directory_patch.py @@ -0,0 +1,135 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class DirectoryPatch(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'name': 'str', + 'directory_name': 'str' + } + + attribute_map = { + 'name': 'name', + 'directory_name': 'directory_name' + } + + required_args = { + } + + def __init__( + self, + name=None, # type: str + directory_name=None, # type: str + ): + """ + Keyword args: + name (str): The new name for the resource. + directory_name (str): The managed directory name without the file system name prefix. A full managed directory name is constructed in the form of `FILE_SYSTEM:DIR` where `FILE_SYSTEM` is the file system name and `DIR` is the value of this field. + """ + if name is not None: + self.name = name + if directory_name is not None: + self.directory_name = directory_name + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectoryPatch`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectoryPatch`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectoryPatch`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectoryPatch`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(DirectoryPatch, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, DirectoryPatch): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/directory_performance.py b/pypureclient/flasharray/FA_2_26/models/directory_performance.py new file mode 100644 index 000000000..8445cb1e7 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/directory_performance.py @@ -0,0 +1,240 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class DirectoryPerformance(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'id': 'str', + 'name': 'str', + 'bytes_per_op': 'int', + 'bytes_per_read': 'int', + 'bytes_per_write': 'int', + 'others_per_sec': 'int', + 'read_bytes_per_sec': 'int', + 'reads_per_sec': 'int', + 'time': 'int', + 'usec_per_other_op': 'int', + 'usec_per_read_op': 'int', + 'usec_per_write_op': 'int', + 'write_bytes_per_sec': 'int', + 'writes_per_sec': 'int' + } + + attribute_map = { + 'id': 'id', + 'name': 'name', + 'bytes_per_op': 'bytes_per_op', + 'bytes_per_read': 'bytes_per_read', + 'bytes_per_write': 'bytes_per_write', + 'others_per_sec': 'others_per_sec', + 'read_bytes_per_sec': 'read_bytes_per_sec', + 'reads_per_sec': 'reads_per_sec', + 'time': 'time', + 'usec_per_other_op': 'usec_per_other_op', + 'usec_per_read_op': 'usec_per_read_op', + 'usec_per_write_op': 'usec_per_write_op', + 'write_bytes_per_sec': 'write_bytes_per_sec', + 'writes_per_sec': 'writes_per_sec' + } + + required_args = { + } + + def __init__( + self, + id=None, # type: str + name=None, # type: str + bytes_per_op=None, # type: int + bytes_per_read=None, # type: int + bytes_per_write=None, # type: int + others_per_sec=None, # type: int + read_bytes_per_sec=None, # type: int + reads_per_sec=None, # type: int + time=None, # type: int + usec_per_other_op=None, # type: int + usec_per_read_op=None, # type: int + usec_per_write_op=None, # type: int + write_bytes_per_sec=None, # type: int + writes_per_sec=None, # type: int + ): + """ + Keyword args: + id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. + name (str): A user-specified name. The name must be locally unique and can be changed. + bytes_per_op (int): The average I/O size for both read and write (all) operations. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. + others_per_sec (int): The number of other requests processed per second. + read_bytes_per_sec (int): The number of bytes read per second. + reads_per_sec (int): The number of read requests processed per second. + time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. + usec_per_other_op (int): The average time it takes the array to process an I/O other request, measured in microseconds. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. + write_bytes_per_sec (int): The number of bytes written per second. + writes_per_sec (int): The number of write requests processed per second. + """ + if id is not None: + self.id = id + if name is not None: + self.name = name + if bytes_per_op is not None: + self.bytes_per_op = bytes_per_op + if bytes_per_read is not None: + self.bytes_per_read = bytes_per_read + if bytes_per_write is not None: + self.bytes_per_write = bytes_per_write + if others_per_sec is not None: + self.others_per_sec = others_per_sec + if read_bytes_per_sec is not None: + self.read_bytes_per_sec = read_bytes_per_sec + if reads_per_sec is not None: + self.reads_per_sec = reads_per_sec + if time is not None: + self.time = time + if usec_per_other_op is not None: + self.usec_per_other_op = usec_per_other_op + if usec_per_read_op is not None: + self.usec_per_read_op = usec_per_read_op + if usec_per_write_op is not None: + self.usec_per_write_op = usec_per_write_op + if write_bytes_per_sec is not None: + self.write_bytes_per_sec = write_bytes_per_sec + if writes_per_sec is not None: + self.writes_per_sec = writes_per_sec + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectoryPerformance`".format(key)) + if key == "bytes_per_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `bytes_per_op`, must be a value greater than or equal to `0`") + if key == "bytes_per_read" and value is not None: + if value < 0: + raise ValueError("Invalid value for `bytes_per_read`, must be a value greater than or equal to `0`") + if key == "bytes_per_write" and value is not None: + if value < 0: + raise ValueError("Invalid value for `bytes_per_write`, must be a value greater than or equal to `0`") + if key == "others_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `others_per_sec`, must be a value greater than or equal to `0`") + if key == "read_bytes_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `read_bytes_per_sec`, must be a value greater than or equal to `0`") + if key == "reads_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `reads_per_sec`, must be a value greater than or equal to `0`") + if key == "usec_per_other_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `usec_per_other_op`, must be a value greater than or equal to `0`") + if key == "usec_per_read_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `usec_per_read_op`, must be a value greater than or equal to `0`") + if key == "usec_per_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `usec_per_write_op`, must be a value greater than or equal to `0`") + if key == "write_bytes_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `write_bytes_per_sec`, must be a value greater than or equal to `0`") + if key == "writes_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `writes_per_sec`, must be a value greater than or equal to `0`") + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectoryPerformance`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectoryPerformance`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectoryPerformance`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(DirectoryPerformance, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, DirectoryPerformance): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/directory_performance_get_response.py b/pypureclient/flasharray/FA_2_26/models/directory_performance_get_response.py new file mode 100644 index 000000000..7edc1aacc --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/directory_performance_get_response.py @@ -0,0 +1,153 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class DirectoryPerformanceGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[DirectoryPerformance]', + 'total': 'list[DirectoryPerformance]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items', + 'total': 'total' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.DirectoryPerformance] + total=None, # type: List[models.DirectoryPerformance] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[DirectoryPerformance]): Performance data. If `total_only=true`, the `items` list will be empty. + total (list[DirectoryPerformance]): The aggregate value of all items after filtering. When it makes sense, the average value is displayed instead. The values are displayed for each field if meaningful. + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + if total is not None: + self.total = total + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectoryPerformanceGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectoryPerformanceGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectoryPerformanceGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectoryPerformanceGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(DirectoryPerformanceGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, DirectoryPerformanceGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/directory_policy_export_post.py b/pypureclient/flasharray/FA_2_26/models/directory_policy_export_post.py new file mode 100644 index 000000000..cb0bc6d58 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/directory_policy_export_post.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class DirectoryPolicyExportPost(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'policies': 'list[DirectorypolicyexportpostPolicies]' + } + + attribute_map = { + 'policies': 'policies' + } + + required_args = { + } + + def __init__( + self, + policies=None, # type: List[models.DirectorypolicyexportpostPolicies] + ): + """ + Keyword args: + policies (list[DirectorypolicyexportpostPolicies]): A list of export policies to apply to the directory. The `id` and `name` fields in each `policy` parameter are required, but cannot be set together. + """ + if policies is not None: + self.policies = policies + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectoryPolicyExportPost`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectoryPolicyExportPost`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectoryPolicyExportPost`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectoryPolicyExportPost`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(DirectoryPolicyExportPost, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, DirectoryPolicyExportPost): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/directory_policy_post.py b/pypureclient/flasharray/FA_2_26/models/directory_policy_post.py new file mode 100644 index 000000000..e1b6c9e74 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/directory_policy_post.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class DirectoryPolicyPost(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'policies': 'list[DirectorypolicypostPolicies]' + } + + attribute_map = { + 'policies': 'policies' + } + + required_args = { + } + + def __init__( + self, + policies=None, # type: List[models.DirectorypolicypostPolicies] + ): + """ + Keyword args: + policies (list[DirectorypolicypostPolicies]): A list of policies to apply to the resource. The `id` or `name` field in each `policy` parameter is required, but they cannot be set together. + """ + if policies is not None: + self.policies = policies + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectoryPolicyPost`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectoryPolicyPost`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectoryPolicyPost`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectoryPolicyPost`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(DirectoryPolicyPost, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, DirectoryPolicyPost): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/directory_post.py b/pypureclient/flasharray/FA_2_26/models/directory_post.py new file mode 100644 index 000000000..9cf4bda47 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/directory_post.py @@ -0,0 +1,135 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class DirectoryPost(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'directory_name': 'str', + 'path': 'str' + } + + attribute_map = { + 'directory_name': 'directory_name', + 'path': 'path' + } + + required_args = { + } + + def __init__( + self, + directory_name=None, # type: str + path=None, # type: str + ): + """ + Keyword args: + directory_name (str): The managed directory name without the file system name prefix. A full managed directory name is constructed in the form of `FILE_SYSTEM:DIR` where `FILE_SYSTEM` is the file system name and `DIR` is the value of this field. `directory_name` is required if `file_system_names` or `file_system_ids` is set. `directory_name` cannot be set if `names` is set. + path (str): Path of the managed directory in the file system. + """ + if directory_name is not None: + self.directory_name = directory_name + if path is not None: + self.path = path + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectoryPost`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectoryPost`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectoryPost`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectoryPost`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(DirectoryPost, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, DirectoryPost): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/directory_quota.py b/pypureclient/flasharray/FA_2_26/models/directory_quota.py new file mode 100644 index 000000000..ac2794344 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/directory_quota.py @@ -0,0 +1,186 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class DirectoryQuota(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'directory': 'FixedReferenceWithType', + 'enabled': 'bool', + 'enforced': 'bool', + 'path': 'str', + 'percentage_used': 'float', + 'policy': 'FixedReferenceWithType', + 'quota_limit': 'int', + 'rule_name': 'str', + 'usage': 'int' + } + + attribute_map = { + 'directory': 'directory', + 'enabled': 'enabled', + 'enforced': 'enforced', + 'path': 'path', + 'percentage_used': 'percentage_used', + 'policy': 'policy', + 'quota_limit': 'quota_limit', + 'rule_name': 'rule_name', + 'usage': 'usage' + } + + required_args = { + } + + def __init__( + self, + directory=None, # type: models.FixedReferenceWithType + enabled=None, # type: bool + enforced=None, # type: bool + path=None, # type: str + percentage_used=None, # type: float + policy=None, # type: models.FixedReferenceWithType + quota_limit=None, # type: int + rule_name=None, # type: str + usage=None, # type: int + ): + """ + Keyword args: + directory (FixedReferenceWithType): The directory to which the quota applies. + enabled (bool): Returns a value of `true` if the policy is enabled. + enforced (bool): Defines whether the quota rule is enforced or unenforced. If the quota rule is enforced and logical space usage exceeds the quota limit, any modification operations that result in a need for more space are blocked. If the quota rule is unenforced and logical space usage exceeds the quota limit, notification emails are sent to targets that are specified using the `notification` parameter. No client operations are blocked when an unenforced limit is exceeded. If set to `true`, the limit is enforced. If set to `false`, notification targets are informed when the usage exceeds 80 percent of the limit. + path (str): Absolute path of the directory in the file system. + percentage_used (float): The percentage of the space used in the directory with respect to the quota limit. + policy (FixedReferenceWithType): The effective quota policy that imposes the limit. This is the policy with the lowest limit. + quota_limit (int): Effective quota limit imposed by the quota policy rule attached to the directory, measured in bytes. + rule_name (str): Name of the rule that results in this quota and behavior being applied to this directory. + usage (int): The amount of logically written data for the directory, measured in bytes. + """ + if directory is not None: + self.directory = directory + if enabled is not None: + self.enabled = enabled + if enforced is not None: + self.enforced = enforced + if path is not None: + self.path = path + if percentage_used is not None: + self.percentage_used = percentage_used + if policy is not None: + self.policy = policy + if quota_limit is not None: + self.quota_limit = quota_limit + if rule_name is not None: + self.rule_name = rule_name + if usage is not None: + self.usage = usage + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectoryQuota`".format(key)) + if key == "percentage_used" and value is not None: + if value < 0.0: + raise ValueError("Invalid value for `percentage_used`, must be a value greater than or equal to `0.0`") + if key == "quota_limit" and value is not None: + if value < 0: + raise ValueError("Invalid value for `quota_limit`, must be a value greater than or equal to `0`") + if key == "usage" and value is not None: + if value < 0: + raise ValueError("Invalid value for `usage`, must be a value greater than or equal to `0`") + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectoryQuota`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectoryQuota`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectoryQuota`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(DirectoryQuota, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, DirectoryQuota): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/directory_quotas_get_response.py b/pypureclient/flasharray/FA_2_26/models/directory_quotas_get_response.py new file mode 100644 index 000000000..26e7d7162 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/directory_quotas_get_response.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class DirectoryQuotasGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[DirectoryQuota]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.DirectoryQuota] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[DirectoryQuota]): Displays a list of all items after filtering. The values are displayed for each name, if meaningful. + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectoryQuotasGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectoryQuotasGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectoryQuotasGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectoryQuotasGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(DirectoryQuotasGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, DirectoryQuotasGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/directory_quotas_response.py b/pypureclient/flasharray/FA_2_26/models/directory_quotas_response.py new file mode 100644 index 000000000..f36beda63 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/directory_quotas_response.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class DirectoryQuotasResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'items': 'list[DirectoryQuota]' + } + + attribute_map = { + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + items=None, # type: List[models.DirectoryQuota] + ): + """ + Keyword args: + items (list[DirectoryQuota]): Displays a list of all items after filtering. The values are displayed for each name, if meaningful. + """ + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectoryQuotasResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectoryQuotasResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectoryQuotasResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectoryQuotasResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(DirectoryQuotasResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, DirectoryQuotasResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/directory_response.py b/pypureclient/flasharray/FA_2_26/models/directory_response.py new file mode 100644 index 000000000..8094480c6 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/directory_response.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class DirectoryResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'items': 'list[Directory]' + } + + attribute_map = { + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + items=None, # type: List[models.Directory] + ): + """ + Keyword args: + items (list[Directory]): Displays a list of all items after filtering. If applicable, the values are displayed for each name. + """ + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectoryResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectoryResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectoryResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectoryResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(DirectoryResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, DirectoryResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/directory_service.py b/pypureclient/flasharray/FA_2_26/models/directory_service.py new file mode 100644 index 000000000..715a00ed1 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/directory_service.py @@ -0,0 +1,186 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class DirectoryService(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'name': 'str', + 'base_dn': 'str', + 'bind_password': 'str', + 'bind_user': 'str', + 'ca_certificate': 'str', + 'check_peer': 'bool', + 'enabled': 'bool', + 'services': 'list[str]', + 'uris': 'list[str]', + 'management': 'DirectoryServiceManagement' + } + + attribute_map = { + 'name': 'name', + 'base_dn': 'base_dn', + 'bind_password': 'bind_password', + 'bind_user': 'bind_user', + 'ca_certificate': 'ca_certificate', + 'check_peer': 'check_peer', + 'enabled': 'enabled', + 'services': 'services', + 'uris': 'uris', + 'management': 'management' + } + + required_args = { + } + + def __init__( + self, + name=None, # type: str + base_dn=None, # type: str + bind_password=None, # type: str + bind_user=None, # type: str + ca_certificate=None, # type: str + check_peer=None, # type: bool + enabled=None, # type: bool + services=None, # type: List[str] + uris=None, # type: List[str] + management=None, # type: models.DirectoryServiceManagement + ): + """ + Keyword args: + name (str): A locally unique, system-generated name. The name cannot be modified. + base_dn (str): Base of the Distinguished Name (DN) of the directory service groups. + bind_password (str): Masked password used to query the directory. + bind_user (str): Username used to query the directory. + ca_certificate (str): The certificate of the Certificate Authority (CA) that signed the certificates of the directory servers, which is used to validate the authenticity of the configured servers. + check_peer (bool): Whether or not server authenticity is enforced when a certificate is provided. + enabled (bool): Whether or not the directory service is enabled. + services (list[str]): Services for which the directory service configuration is used. + uris (list[str]): List of URIs for the configured directory servers. + management (DirectoryServiceManagement) + """ + if name is not None: + self.name = name + if base_dn is not None: + self.base_dn = base_dn + if bind_password is not None: + self.bind_password = bind_password + if bind_user is not None: + self.bind_user = bind_user + if ca_certificate is not None: + self.ca_certificate = ca_certificate + if check_peer is not None: + self.check_peer = check_peer + if enabled is not None: + self.enabled = enabled + if services is not None: + self.services = services + if uris is not None: + self.uris = uris + if management is not None: + self.management = management + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectoryService`".format(key)) + if key == "ca_certificate" and value is not None: + if len(value) > 3000: + raise ValueError("Invalid value for `ca_certificate`, length must be less than or equal to `3000`") + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectoryService`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectoryService`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectoryService`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(DirectoryService, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, DirectoryService): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/directory_service_get_response.py b/pypureclient/flasharray/FA_2_26/models/directory_service_get_response.py new file mode 100644 index 000000000..0d9f75212 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/directory_service_get_response.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class DirectoryServiceGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[DirectoryService]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.DirectoryService] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[DirectoryService]) + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectoryServiceGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectoryServiceGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectoryServiceGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectoryServiceGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(DirectoryServiceGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, DirectoryServiceGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/directory_service_management.py b/pypureclient/flasharray/FA_2_26/models/directory_service_management.py new file mode 100644 index 000000000..9211c6b86 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/directory_service_management.py @@ -0,0 +1,135 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class DirectoryServiceManagement(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'user_login_attribute': 'str', + 'user_object_class': 'str' + } + + attribute_map = { + 'user_login_attribute': 'user_login_attribute', + 'user_object_class': 'user_object_class' + } + + required_args = { + } + + def __init__( + self, + user_login_attribute=None, # type: str + user_object_class=None, # type: str + ): + """ + Keyword args: + user_login_attribute (str): User login attribute in the structure of the configured LDAP servers. Typically the attribute field that holds the user's unique login name. Default value is `sAMAccountName` for Active Directory or `uid` for all other directory services. + user_object_class (str): Value of the object class for a management LDAP user. Defaults to `User` for Active Directory servers, `posixAccount` or `shadowAccount` for OpenLDAP servers dependent on the group type of the server, or `person` for all other directory servers. + """ + if user_login_attribute is not None: + self.user_login_attribute = user_login_attribute + if user_object_class is not None: + self.user_object_class = user_object_class + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectoryServiceManagement`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectoryServiceManagement`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectoryServiceManagement`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectoryServiceManagement`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(DirectoryServiceManagement, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, DirectoryServiceManagement): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/directory_service_response.py b/pypureclient/flasharray/FA_2_26/models/directory_service_response.py new file mode 100644 index 000000000..11d659f92 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/directory_service_response.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class DirectoryServiceResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'items': 'list[DirectoryService]' + } + + attribute_map = { + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + items=None, # type: List[models.DirectoryService] + ): + """ + Keyword args: + items (list[DirectoryService]) + """ + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectoryServiceResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectoryServiceResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectoryServiceResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectoryServiceResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(DirectoryServiceResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, DirectoryServiceResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/directory_service_role.py b/pypureclient/flasharray/FA_2_26/models/directory_service_role.py new file mode 100644 index 000000000..29684a669 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/directory_service_role.py @@ -0,0 +1,141 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class DirectoryServiceRole(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'group': 'str', + 'group_base': 'str', + 'role': 'FixedReferenceNoId' + } + + attribute_map = { + 'group': 'group', + 'group_base': 'group_base', + 'role': 'role' + } + + required_args = { + } + + def __init__( + self, + group=None, # type: str + group_base=None, # type: str + role=None, # type: models.FixedReferenceNoId + ): + """ + Keyword args: + group (str): Common Name (CN) of the directory service group that contains users with the authority level of the specified role name. + group_base (str): Specifies where the configured group is located in the directory tree. + role (FixedReferenceNoId): A reference to the role; can be any role that exists on the system. + """ + if group is not None: + self.group = group + if group_base is not None: + self.group_base = group_base + if role is not None: + self.role = role + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectoryServiceRole`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectoryServiceRole`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectoryServiceRole`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectoryServiceRole`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(DirectoryServiceRole, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, DirectoryServiceRole): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/directory_service_role_get_response.py b/pypureclient/flasharray/FA_2_26/models/directory_service_role_get_response.py new file mode 100644 index 000000000..cae1df73e --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/directory_service_role_get_response.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class DirectoryServiceRoleGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[DirectoryServiceRole]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.DirectoryServiceRole] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[DirectoryServiceRole]) + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectoryServiceRoleGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectoryServiceRoleGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectoryServiceRoleGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectoryServiceRoleGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(DirectoryServiceRoleGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, DirectoryServiceRoleGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/directory_service_role_response.py b/pypureclient/flasharray/FA_2_26/models/directory_service_role_response.py new file mode 100644 index 000000000..680c883eb --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/directory_service_role_response.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class DirectoryServiceRoleResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'items': 'list[DirectoryServiceRole]' + } + + attribute_map = { + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + items=None, # type: List[models.DirectoryServiceRole] + ): + """ + Keyword args: + items (list[DirectoryServiceRole]) + """ + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectoryServiceRoleResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectoryServiceRoleResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectoryServiceRoleResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectoryServiceRoleResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(DirectoryServiceRoleResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, DirectoryServiceRoleResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/directory_snapshot.py b/pypureclient/flasharray/FA_2_26/models/directory_snapshot.py new file mode 100644 index 000000000..4e253a32e --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/directory_snapshot.py @@ -0,0 +1,183 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class DirectorySnapshot(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'id': 'str', + 'name': 'str', + 'client_name': 'str', + 'created': 'int', + 'destroyed': 'bool', + 'policy': 'FixedReference', + 'source': 'FixedReference', + 'space': 'Space', + 'suffix': 'int', + 'time_remaining': 'int' + } + + attribute_map = { + 'id': 'id', + 'name': 'name', + 'client_name': 'client_name', + 'created': 'created', + 'destroyed': 'destroyed', + 'policy': 'policy', + 'source': 'source', + 'space': 'space', + 'suffix': 'suffix', + 'time_remaining': 'time_remaining' + } + + required_args = { + } + + def __init__( + self, + id=None, # type: str + name=None, # type: str + client_name=None, # type: str + created=None, # type: int + destroyed=None, # type: bool + policy=None, # type: models.FixedReference + source=None, # type: models.FixedReference + space=None, # type: models.Space + suffix=None, # type: int + time_remaining=None, # type: int + ): + """ + Keyword args: + id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. + name (str): A user-specified name. The name must be locally unique and can be changed. + client_name (str): The customizable portion of the client-visible snapshot name. A full snapshot name is constructed in the form of `DIR.CLIENT_NAME.SUFFIX` where `DIR` is the full managed directory name, `CLIENT_NAME` is the client name, and `SUFFIX` is the suffix. The client-visible snapshot name is `CLIENT_NAME.SUFFIX`. + created (int): The snapshot creation time, measured in milliseconds since the UNIX epoch. + destroyed (bool): Returns a value of `true` if the snapshot has been destroyed and is pending eradication. The `time_remaining` value displays the amount of time left until the destroyed directory snapshot is permanently eradicated. Before the `time_remaining` period has elapsed, the destroyed directory snapshot can be recovered by setting `destroyed=false`. Once the `time_remaining` period has elapsed, the directory snapshot is permanently eradicated and can no longer be recovered. + policy (FixedReference): The snapshot policy that manages this snapshot, if applicable. + source (FixedReference): The directory from which this snapshot was taken. + space (Space): Displays size and space consumption information. + suffix (int): The suffix that is appended to the `source_name` value and the `client_name` value to generate the full directory snapshot name in the form of `DIR.CLIENT_NAME.SUFFIX` where `DIR` is the managed directory name, `CLIENT_NAME` is the client name, and `SUFFIX` is the suffix. If the suffix is a string, this field returns `null`. See the `name` value for the full snapshot name including the suffix. + time_remaining (int): The amount of time left until the directory snapshot is permanently eradicated, measured in milliseconds. Before the `time_remaining` period has elapsed, the snapshot can be recovered by setting `destroyed=false` if it is destroyed, by setting `policy=\"\"` if it is managed by a snapshot policy, or by setting `keep_for=\"\"` if it is a manual snapshot. + """ + if id is not None: + self.id = id + if name is not None: + self.name = name + if client_name is not None: + self.client_name = client_name + if created is not None: + self.created = created + if destroyed is not None: + self.destroyed = destroyed + if policy is not None: + self.policy = policy + if source is not None: + self.source = source + if space is not None: + self.space = space + if suffix is not None: + self.suffix = suffix + if time_remaining is not None: + self.time_remaining = time_remaining + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectorySnapshot`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectorySnapshot`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectorySnapshot`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectorySnapshot`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(DirectorySnapshot, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, DirectorySnapshot): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/directory_snapshot_get_response.py b/pypureclient/flasharray/FA_2_26/models/directory_snapshot_get_response.py new file mode 100644 index 000000000..ff652fd73 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/directory_snapshot_get_response.py @@ -0,0 +1,153 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class DirectorySnapshotGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[DirectorySnapshot]', + 'total': 'list[DirectorySnapshot]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items', + 'total': 'total' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.DirectorySnapshot] + total=None, # type: List[models.DirectorySnapshot] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[DirectorySnapshot]): Displays a list of all items after filtering. If applicable, the values are displayed for each name. + total (list[DirectorySnapshot]): The aggregate value of all items after filtering. When applicable, the average value is displayed instead. The values are displayed for each field, if meaningful. + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + if total is not None: + self.total = total + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectorySnapshotGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectorySnapshotGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectorySnapshotGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectorySnapshotGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(DirectorySnapshotGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, DirectorySnapshotGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/directory_snapshot_patch.py b/pypureclient/flasharray/FA_2_26/models/directory_snapshot_patch.py new file mode 100644 index 000000000..6d9fe1493 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/directory_snapshot_patch.py @@ -0,0 +1,159 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class DirectorySnapshotPatch(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'destroyed': 'bool', + 'keep_for': 'int', + 'policy': 'Reference', + 'name': 'str', + 'client_name': 'str', + 'suffix': 'str' + } + + attribute_map = { + 'destroyed': 'destroyed', + 'keep_for': 'keep_for', + 'policy': 'policy', + 'name': 'name', + 'client_name': 'client_name', + 'suffix': 'suffix' + } + + required_args = { + } + + def __init__( + self, + destroyed=None, # type: bool + keep_for=None, # type: int + policy=None, # type: models.Reference + name=None, # type: str + client_name=None, # type: str + suffix=None, # type: str + ): + """ + Keyword args: + destroyed (bool): If set to `true`, destroys a resource. Once set to `true`, the `time_remaining` value will display the amount of time left until the destroyed resource is permanently eradicated. Before the `time_remaining` period has elapsed, the destroyed resource can be recovered by setting `destroyed=false`. Once the `time_remaining` period has elapsed, the resource is permanently eradicated and can no longer be recovered. + keep_for (int): The amount of time to keep the snapshots, in milliseconds. Can only be set on snapshots that are not managed by any snapshot policy. Set to `\"\"` to clear the keep_for value. + policy (Reference): The snapshot policy that manages this snapshot. Set to `name` or `id` to `\"\"` to clear the policy. + name (str): The new name of a directory snapshot. The name of a directory snapshot managed by a snapshot policy is not changeable. + client_name (str): The client name portion of the client-visible snapshot name. A full snapshot name is constructed in the form of `DIR.CLIENT_NAME.SUFFIX` where `DIR` is the managed directory name, `CLIENT_NAME` is the value of this field, and `SUFFIX` is the suffix. The client-visible snapshot name is `CLIENT_NAME.SUFFIX`. The client name of a directory snapshot managed by a snapshot policy is not changeable. If the `name` and `client_name` parameters are both specified, `client_name` must match the client name portion of `name`. + suffix (str): The suffix portion of the client-visible snapshot name. A full snapshot name is constructed in the form of `DIR.CLIENT_NAME.SUFFIX` where `DIR` is the managed directory name, `CLIENT_NAME` is the client name, and `SUFFIX` is the value of this field. The client-visible snapshot name is `CLIENT_NAME.SUFFIX`. The suffix of a directory snapshot managed by a snapshot policy is not changeable. If the `name` and `suffix` parameters are both specified, `suffix` must match the suffix portion of `name`. + """ + if destroyed is not None: + self.destroyed = destroyed + if keep_for is not None: + self.keep_for = keep_for + if policy is not None: + self.policy = policy + if name is not None: + self.name = name + if client_name is not None: + self.client_name = client_name + if suffix is not None: + self.suffix = suffix + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectorySnapshotPatch`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectorySnapshotPatch`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectorySnapshotPatch`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectorySnapshotPatch`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(DirectorySnapshotPatch, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, DirectorySnapshotPatch): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/directory_snapshot_post.py b/pypureclient/flasharray/FA_2_26/models/directory_snapshot_post.py new file mode 100644 index 000000000..3e20a2311 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/directory_snapshot_post.py @@ -0,0 +1,141 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class DirectorySnapshotPost(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'client_name': 'str', + 'keep_for': 'int', + 'suffix': 'str' + } + + attribute_map = { + 'client_name': 'client_name', + 'keep_for': 'keep_for', + 'suffix': 'suffix' + } + + required_args = { + } + + def __init__( + self, + client_name=None, # type: str + keep_for=None, # type: int + suffix=None, # type: str + ): + """ + Keyword args: + client_name (str): The client name portion of the client visible snapshot name. A full snapshot name is constructed in the form of `DIR.CLIENT_NAME.SUFFIX` where `DIR` is the managed directory name, `CLIENT_NAME` is the value of this field, and `SUFFIX` is the suffix. The client visible snapshot name is `CLIENT_NAME.SUFFIX`. + keep_for (int): The time to keep the snapshots for, in milliseconds. + suffix (str): The suffix portion of the client visible snapshot name. A full snapshot name is constructed in the form of `DIR.CLIENT_NAME.SUFFIX` where `DIR` is the managed directory name, `CLIENT_NAME` is the client name, and `SUFFIX` is the value of this field. The client visible snapshot name is `CLIENT_NAME.SUFFIX`. If not specified, defaults to a monotonically increasing number generated by the system. + """ + if client_name is not None: + self.client_name = client_name + if keep_for is not None: + self.keep_for = keep_for + if suffix is not None: + self.suffix = suffix + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectorySnapshotPost`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectorySnapshotPost`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectorySnapshotPost`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectorySnapshotPost`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(DirectorySnapshotPost, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, DirectorySnapshotPost): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/directory_snapshot_response.py b/pypureclient/flasharray/FA_2_26/models/directory_snapshot_response.py new file mode 100644 index 000000000..1ad4ab670 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/directory_snapshot_response.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class DirectorySnapshotResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'items': 'list[DirectorySnapshot]' + } + + attribute_map = { + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + items=None, # type: List[models.DirectorySnapshot] + ): + """ + Keyword args: + items (list[DirectorySnapshot]): Displays a list of all items after filtering. If applicable, the values are displayed for each name. + """ + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectorySnapshotResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectorySnapshotResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectorySnapshotResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectorySnapshotResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(DirectorySnapshotResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, DirectorySnapshotResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/directory_space.py b/pypureclient/flasharray/FA_2_26/models/directory_space.py new file mode 100644 index 000000000..0afb7bd3f --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/directory_space.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class DirectorySpace(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'id': 'str', + 'name': 'str', + 'space': 'Space', + 'time': 'int' + } + + attribute_map = { + 'id': 'id', + 'name': 'name', + 'space': 'space', + 'time': 'time' + } + + required_args = { + } + + def __init__( + self, + id=None, # type: str + name=None, # type: str + space=None, # type: models.Space + time=None, # type: int + ): + """ + Keyword args: + id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. + name (str): A locally unique, system-generated name. The name cannot be modified. + space (Space): Displays size and space consumption information. + time (int): The timestamp of when the data was taken, measured in milliseconds since the UNIX epoch. + """ + if id is not None: + self.id = id + if name is not None: + self.name = name + if space is not None: + self.space = space + if time is not None: + self.time = time + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectorySpace`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectorySpace`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectorySpace`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectorySpace`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(DirectorySpace, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, DirectorySpace): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/directorypolicyexportpost_policies.py b/pypureclient/flasharray/FA_2_26/models/directorypolicyexportpost_policies.py new file mode 100644 index 000000000..b1b12630f --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/directorypolicyexportpost_policies.py @@ -0,0 +1,135 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class DirectorypolicyexportpostPolicies(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'export_name': 'str', + 'policy': 'Reference' + } + + attribute_map = { + 'export_name': 'export_name', + 'policy': 'policy' + } + + required_args = { + } + + def __init__( + self, + export_name=None, # type: str + policy=None, # type: models.Reference + ): + """ + Keyword args: + export_name (str): The name of the export to create when applying the export policy to the directory. + policy (Reference): Reference to the export policy to apply to the directory. + """ + if export_name is not None: + self.export_name = export_name + if policy is not None: + self.policy = policy + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectorypolicyexportpostPolicies`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectorypolicyexportpostPolicies`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectorypolicyexportpostPolicies`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectorypolicyexportpostPolicies`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(DirectorypolicyexportpostPolicies, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, DirectorypolicyexportpostPolicies): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/directorypolicypost_policies.py b/pypureclient/flasharray/FA_2_26/models/directorypolicypost_policies.py new file mode 100644 index 000000000..b4c2c5f87 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/directorypolicypost_policies.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class DirectorypolicypostPolicies(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'policy': 'Reference' + } + + attribute_map = { + 'policy': 'policy' + } + + required_args = { + } + + def __init__( + self, + policy=None, # type: models.Reference + ): + """ + Keyword args: + policy (Reference): Reference to the policy to apply to the resource. + """ + if policy is not None: + self.policy = policy + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectorypolicypostPolicies`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectorypolicypostPolicies`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectorypolicypostPolicies`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DirectorypolicypostPolicies`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(DirectorypolicypostPolicies, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, DirectorypolicypostPolicies): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/dns.py b/pypureclient/flasharray/FA_2_26/models/dns.py new file mode 100644 index 000000000..a42041e17 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/dns.py @@ -0,0 +1,153 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class Dns(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'name': 'str', + 'domain': 'str', + 'nameservers': 'list[str]', + 'services': 'list[str]', + 'source': 'ReferenceNoId' + } + + attribute_map = { + 'name': 'name', + 'domain': 'domain', + 'nameservers': 'nameservers', + 'services': 'services', + 'source': 'source' + } + + required_args = { + } + + def __init__( + self, + name=None, # type: str + domain=None, # type: str + nameservers=None, # type: List[str] + services=None, # type: List[str] + source=None, # type: models.ReferenceNoId + ): + """ + Keyword args: + name (str): A user-specified name. The name must be locally unique and can be changed. + domain (str): The domain suffix to be appended by the appliance when performing DNS lookups. + nameservers (list[str]): The list of DNS server IP addresses. + services (list[str]): The list of services utilizing the DNS configuration. + source (ReferenceNoId): The network interface used for communication with the DNS server. + """ + if name is not None: + self.name = name + if domain is not None: + self.domain = domain + if nameservers is not None: + self.nameservers = nameservers + if services is not None: + self.services = services + if source is not None: + self.source = source + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Dns`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Dns`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Dns`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Dns`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(Dns, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, Dns): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/dns_get_response.py b/pypureclient/flasharray/FA_2_26/models/dns_get_response.py new file mode 100644 index 000000000..3f3b72667 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/dns_get_response.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class DnsGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[Dns]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.Dns] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[Dns]) + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DnsGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DnsGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DnsGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DnsGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(DnsGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, DnsGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/dns_patch.py b/pypureclient/flasharray/FA_2_26/models/dns_patch.py new file mode 100644 index 000000000..482b6e41e --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/dns_patch.py @@ -0,0 +1,153 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class DnsPatch(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'name': 'str', + 'domain': 'str', + 'nameservers': 'list[str]', + 'services': 'list[str]', + 'source': 'ReferenceNoId' + } + + attribute_map = { + 'name': 'name', + 'domain': 'domain', + 'nameservers': 'nameservers', + 'services': 'services', + 'source': 'source' + } + + required_args = { + } + + def __init__( + self, + name=None, # type: str + domain=None, # type: str + nameservers=None, # type: List[str] + services=None, # type: List[str] + source=None, # type: models.ReferenceNoId + ): + """ + Keyword args: + name (str): The new name for the resource. + domain (str): The domain suffix to be appended by the appliance when performing DNS lookups. + nameservers (list[str]): The list of DNS server IP addresses. + services (list[str]): The list of services utilizing the DNS configuration. + source (ReferenceNoId): The network interface used for communication with the DNS server. + """ + if name is not None: + self.name = name + if domain is not None: + self.domain = domain + if nameservers is not None: + self.nameservers = nameservers + if services is not None: + self.services = services + if source is not None: + self.source = source + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DnsPatch`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DnsPatch`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DnsPatch`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DnsPatch`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(DnsPatch, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, DnsPatch): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/dns_post.py b/pypureclient/flasharray/FA_2_26/models/dns_post.py new file mode 100644 index 000000000..0c68225cf --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/dns_post.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class DnsPost(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'domain': 'str', + 'nameservers': 'list[str]', + 'services': 'list[str]', + 'source': 'ReferenceNoId' + } + + attribute_map = { + 'domain': 'domain', + 'nameservers': 'nameservers', + 'services': 'services', + 'source': 'source' + } + + required_args = { + } + + def __init__( + self, + domain=None, # type: str + nameservers=None, # type: List[str] + services=None, # type: List[str] + source=None, # type: models.ReferenceNoId + ): + """ + Keyword args: + domain (str): The domain suffix to be appended by the appliance when performing DNS lookups. + nameservers (list[str]): The list of DNS server IP addresses. + services (list[str]): The list of services utilizing the DNS configuration. + source (ReferenceNoId): The network interface used for communication with the DNS server. + """ + if domain is not None: + self.domain = domain + if nameservers is not None: + self.nameservers = nameservers + if services is not None: + self.services = services + if source is not None: + self.source = source + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DnsPost`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DnsPost`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DnsPost`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DnsPost`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(DnsPost, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, DnsPost): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/dns_response.py b/pypureclient/flasharray/FA_2_26/models/dns_response.py new file mode 100644 index 000000000..f7578b8c4 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/dns_response.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class DnsResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'items': 'list[Dns]' + } + + attribute_map = { + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + items=None, # type: List[models.Dns] + ): + """ + Keyword args: + items (list[Dns]) + """ + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DnsResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DnsResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DnsResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DnsResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(DnsResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, DnsResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/drive.py b/pypureclient/flasharray/FA_2_26/models/drive.py new file mode 100644 index 000000000..fefacb017 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/drive.py @@ -0,0 +1,159 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class Drive(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'name': 'str', + 'capacity': 'int', + 'details': 'str', + 'protocol': 'str', + 'status': 'str', + 'type': 'str' + } + + attribute_map = { + 'name': 'name', + 'capacity': 'capacity', + 'details': 'details', + 'protocol': 'protocol', + 'status': 'status', + 'type': 'type' + } + + required_args = { + } + + def __init__( + self, + name=None, # type: str + capacity=None, # type: int + details=None, # type: str + protocol=None, # type: str + status=None, # type: str + type=None, # type: str + ): + """ + Keyword args: + name (str): A locally unique, system-generated name. The name cannot be modified. + capacity (int): Physical storage capacity of the module in bytes. + details (str): Details about the status of the module if not healthy. + protocol (str): Storage protocol of the module. Valid values are `NVMe` and `SAS`. + status (str): Current status of the module. Valid values are `empty`, `failed`, `healthy`, `identifying`, `missing`, `recovering`, `unadmitted`, `unhealthy`, `unrecognized`, and `updating`. + type (str): The type of the module. Valid values are `cache`, `NVRAM`, `SSD`, and `virtual`. + """ + if name is not None: + self.name = name + if capacity is not None: + self.capacity = capacity + if details is not None: + self.details = details + if protocol is not None: + self.protocol = protocol + if status is not None: + self.status = status + if type is not None: + self.type = type + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Drive`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Drive`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Drive`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Drive`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(Drive, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, Drive): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/drive_get_response.py b/pypureclient/flasharray/FA_2_26/models/drive_get_response.py new file mode 100644 index 000000000..e1f2d0ebd --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/drive_get_response.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class DriveGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[Drive]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.Drive] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[Drive]) + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DriveGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DriveGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DriveGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DriveGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(DriveGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, DriveGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/drive_response.py b/pypureclient/flasharray/FA_2_26/models/drive_response.py new file mode 100644 index 000000000..13cf1daba --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/drive_response.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class DriveResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'items': 'list[Drive]' + } + + attribute_map = { + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + items=None, # type: List[models.Drive] + ): + """ + Keyword args: + items (list[Drive]) + """ + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DriveResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DriveResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DriveResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `DriveResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(DriveResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, DriveResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/eradication_config.py b/pypureclient/flasharray/FA_2_26/models/eradication_config.py new file mode 100644 index 000000000..f327d3a13 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/eradication_config.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class EradicationConfig(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'disabled_delay': 'int', + 'eradication_delay': 'int', + 'enabled_delay': 'int', + 'manual_eradication': 'str' + } + + attribute_map = { + 'disabled_delay': 'disabled_delay', + 'eradication_delay': 'eradication_delay', + 'enabled_delay': 'enabled_delay', + 'manual_eradication': 'manual_eradication' + } + + required_args = { + } + + def __init__( + self, + disabled_delay=None, # type: int + eradication_delay=None, # type: int + enabled_delay=None, # type: int + manual_eradication=None, # type: str + ): + """ + Keyword args: + disabled_delay (int): The eradication delay in milliseconds for destroyed objects that cannot be manually eradicated. Destroyed objects that cannot be manually eradicated will be automatically eradicated after the configured delay time passes. Valid values are `86400000` and any multiple of `86400000` in the range of `86400000` and `2592000000`. Any other values are rounded down to the nearest multiple of `86400000`. + eradication_delay (int): Eradication delay in milliseconds for all destroyed objects. Automatically eradicate destroyed objects after the configured delay time passes. Updating this field will update both `eradication_disabled_delay` and `eradication_enabled_delay` if both `eradication_disabled_delay` and `eradication_enabled_delay` have the same value. If `eradication_disabled_delay` and `eradication_enabled_delay` have different values, trying to configure `eradication_delay` will result in an error. This field has been deprecated and will be removed in a future REST version. Valid values are `86400000` and any multiple of `86400000` in the range of `86400000` and `2592000000`. Any other values are rounded down to the nearest multiple of `86400000`. + enabled_delay (int): The eradication delay in milliseconds for destroyed objects that can be manually eradicated. Destroyed objects that can be manually eradicated will be automatically eradicated after the configured delay time passes. Valid values are `86400000` and any multiple of `86400000` in the range of `86400000` and `2592000000`. Any other values are rounded down to the nearest multiple of `86400000`. + manual_eradication (str): Manual eradication status applied on the array level. If status is `all-disabled`, you cannot eradicate objects, files, and directories. If at least one local object has `manual_eradication` disabled, then the status will be `partially-disabled`. Values include `all-disabled`, `partially-disabled`, and `all-enabled`. + """ + if disabled_delay is not None: + self.disabled_delay = disabled_delay + if eradication_delay is not None: + self.eradication_delay = eradication_delay + if enabled_delay is not None: + self.enabled_delay = enabled_delay + if manual_eradication is not None: + self.manual_eradication = manual_eradication + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `EradicationConfig`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `EradicationConfig`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `EradicationConfig`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `EradicationConfig`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(EradicationConfig, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, EradicationConfig): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/eula.py b/pypureclient/flasharray/FA_2_26/models/eula.py new file mode 100644 index 000000000..e959a6e94 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/eula.py @@ -0,0 +1,135 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class Eula(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'agreement': 'str', + 'signature': 'EulaSignature' + } + + attribute_map = { + 'agreement': 'agreement', + 'signature': 'signature' + } + + required_args = { + } + + def __init__( + self, + agreement=None, # type: str + signature=None, # type: models.EulaSignature + ): + """ + Keyword args: + agreement (str): End User Agreement text. + signature (EulaSignature) + """ + if agreement is not None: + self.agreement = agreement + if signature is not None: + self.signature = signature + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Eula`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Eula`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Eula`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Eula`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(Eula, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, Eula): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/eula_get_response.py b/pypureclient/flasharray/FA_2_26/models/eula_get_response.py new file mode 100644 index 000000000..bfa434f58 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/eula_get_response.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class EulaGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[Eula]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.Eula] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[Eula]) + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `EulaGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `EulaGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `EulaGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `EulaGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(EulaGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, EulaGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/eula_response.py b/pypureclient/flasharray/FA_2_26/models/eula_response.py new file mode 100644 index 000000000..d13c7cf85 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/eula_response.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class EulaResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'items': 'list[Eula]' + } + + attribute_map = { + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + items=None, # type: List[models.Eula] + ): + """ + Keyword args: + items (list[Eula]) + """ + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `EulaResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `EulaResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `EulaResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `EulaResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(EulaResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, EulaResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/eula_signature.py b/pypureclient/flasharray/FA_2_26/models/eula_signature.py new file mode 100644 index 000000000..fc5314977 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/eula_signature.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class EulaSignature(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'name': 'str', + 'title': 'str', + 'company': 'str', + 'accepted': 'int' + } + + attribute_map = { + 'name': 'name', + 'title': 'title', + 'company': 'company', + 'accepted': 'accepted' + } + + required_args = { + } + + def __init__( + self, + name=None, # type: str + title=None, # type: str + company=None, # type: str + accepted=None, # type: int + ): + """ + Keyword args: + name (str): Name of the person who accepted the End User Agreement. + title (str): Title of the person who accepted the End User Agreement. + company (str): Company of the person who accepted the End User Agreement. + accepted (int): Accepted time in milliseconds since the UNIX epoch. + """ + if name is not None: + self.name = name + if title is not None: + self.title = title + if company is not None: + self.company = company + if accepted is not None: + self.accepted = accepted + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `EulaSignature`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `EulaSignature`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `EulaSignature`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `EulaSignature`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(EulaSignature, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, EulaSignature): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/file_post.py b/pypureclient/flasharray/FA_2_26/models/file_post.py new file mode 100644 index 000000000..cda2c136d --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/file_post.py @@ -0,0 +1,135 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class FilePost(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'source': 'ReferenceWithType', + 'source_path': 'str' + } + + attribute_map = { + 'source': 'source', + 'source_path': 'source_path' + } + + required_args = { + } + + def __init__( + self, + source=None, # type: models.ReferenceWithType + source_path=None, # type: str + ): + """ + Keyword args: + source (ReferenceWithType): The source information of a file copy. + source_path (str): The source file path relative to the source directory. + """ + if source is not None: + self.source = source + if source_path is not None: + self.source_path = source_path + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `FilePost`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `FilePost`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `FilePost`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `FilePost`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(FilePost, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, FilePost): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/file_system.py b/pypureclient/flasharray/FA_2_26/models/file_system.py new file mode 100644 index 000000000..f5e095260 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/file_system.py @@ -0,0 +1,159 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class FileSystem(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'id': 'str', + 'name': 'str', + 'created': 'int', + 'destroyed': 'bool', + 'time_remaining': 'int', + 'pod': 'Reference' + } + + attribute_map = { + 'id': 'id', + 'name': 'name', + 'created': 'created', + 'destroyed': 'destroyed', + 'time_remaining': 'time_remaining', + 'pod': 'pod' + } + + required_args = { + } + + def __init__( + self, + id=None, # type: str + name=None, # type: str + created=None, # type: int + destroyed=None, # type: bool + time_remaining=None, # type: int + pod=None, # type: models.Reference + ): + """ + Keyword args: + id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. + name (str): A user-specified name. The name must be locally unique and can be changed. + created (int): The file system creation time, measured in milliseconds since the UNIX epoch. + destroyed (bool): Returns a value of `true` if the file system has been destroyed and is pending eradication. The `time_remaining` value displays the amount of time left until the destroyed file system is permanently eradicated. Before the `time_remaining` period has elapsed, the destroyed file system can be recovered by setting `destroyed=false`. Once the `time_remaining` period has elapsed, the file system is permanently eradicated and can no longer be recovered. + time_remaining (int): The amount of time left, measured in milliseconds until the destroyed file system is permanently eradicated. Before the `time_remaining` period has elapsed, the destroyed file system can be recovered by setting `destroyed=false`. + pod (Reference): The reference to the pod this file systems belongs to, or `null` if it is not in a pod. + """ + if id is not None: + self.id = id + if name is not None: + self.name = name + if created is not None: + self.created = created + if destroyed is not None: + self.destroyed = destroyed + if time_remaining is not None: + self.time_remaining = time_remaining + if pod is not None: + self.pod = pod + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `FileSystem`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `FileSystem`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `FileSystem`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `FileSystem`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(FileSystem, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, FileSystem): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/file_system_get_response.py b/pypureclient/flasharray/FA_2_26/models/file_system_get_response.py new file mode 100644 index 000000000..c86c19a24 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/file_system_get_response.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class FileSystemGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[FileSystem]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.FileSystem] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[FileSystem]): Displays a list of all items after filtering. If applicable, the values are displayed for each name. + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `FileSystemGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `FileSystemGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `FileSystemGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `FileSystemGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(FileSystemGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, FileSystemGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/file_system_patch.py b/pypureclient/flasharray/FA_2_26/models/file_system_patch.py new file mode 100644 index 000000000..adf3ac2a8 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/file_system_patch.py @@ -0,0 +1,141 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class FileSystemPatch(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'destroyed': 'bool', + 'name': 'str', + 'pod': 'Reference' + } + + attribute_map = { + 'destroyed': 'destroyed', + 'name': 'name', + 'pod': 'pod' + } + + required_args = { + } + + def __init__( + self, + destroyed=None, # type: bool + name=None, # type: str + pod=None, # type: models.Reference + ): + """ + Keyword args: + destroyed (bool): If set to `true`, destroys a resource. Once set to `true`, the `time_remaining` value will display the amount of time left until the destroyed resource is permanently eradicated. Before the `time_remaining` period has elapsed, the destroyed resource can be recovered by setting `destroyed=false`. Once the `time_remaining` period has elapsed, the resource is permanently eradicated and can no longer be recovered. + name (str): The new name for the resource. + pod (Reference): The pod to move existing file systems into. + """ + if destroyed is not None: + self.destroyed = destroyed + if name is not None: + self.name = name + if pod is not None: + self.pod = pod + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `FileSystemPatch`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `FileSystemPatch`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `FileSystemPatch`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `FileSystemPatch`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(FileSystemPatch, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, FileSystemPatch): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/file_system_response.py b/pypureclient/flasharray/FA_2_26/models/file_system_response.py new file mode 100644 index 000000000..e9187505f --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/file_system_response.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class FileSystemResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'items': 'list[FileSystem]' + } + + attribute_map = { + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + items=None, # type: List[models.FileSystem] + ): + """ + Keyword args: + items (list[FileSystem]): Displays a list of all items after filtering. If applicable, the values are displayed for each name. + """ + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `FileSystemResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `FileSystemResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `FileSystemResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `FileSystemResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(FileSystemResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, FileSystemResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/fixed_name_resource_no_id.py b/pypureclient/flasharray/FA_2_26/models/fixed_name_resource_no_id.py new file mode 100644 index 000000000..b0ceac616 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/fixed_name_resource_no_id.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class FixedNameResourceNoId(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'name': 'str' + } + + attribute_map = { + 'name': 'name' + } + + required_args = { + } + + def __init__( + self, + name=None, # type: str + ): + """ + Keyword args: + name (str): A user-specified name. The name must be locally unique and cannot be changed. + """ + if name is not None: + self.name = name + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `FixedNameResourceNoId`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `FixedNameResourceNoId`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `FixedNameResourceNoId`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `FixedNameResourceNoId`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(FixedNameResourceNoId, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, FixedNameResourceNoId): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/fixed_reference.py b/pypureclient/flasharray/FA_2_26/models/fixed_reference.py new file mode 100644 index 000000000..7151b11ae --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/fixed_reference.py @@ -0,0 +1,135 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class FixedReference(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'id': 'str', + 'name': 'str' + } + + attribute_map = { + 'id': 'id', + 'name': 'name' + } + + required_args = { + } + + def __init__( + self, + id=None, # type: str + name=None, # type: str + ): + """ + Keyword args: + id (str): A globally unique, system-generated ID. The ID cannot be modified. + name (str): The resource name, such as volume name, pod name, snapshot name, and so on. + """ + if id is not None: + self.id = id + if name is not None: + self.name = name + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `FixedReference`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `FixedReference`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `FixedReference`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `FixedReference`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(FixedReference, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, FixedReference): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/fixed_reference_no_id.py b/pypureclient/flasharray/FA_2_26/models/fixed_reference_no_id.py new file mode 100644 index 000000000..8659489b9 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/fixed_reference_no_id.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class FixedReferenceNoId(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'name': 'str' + } + + attribute_map = { + 'name': 'name' + } + + required_args = { + } + + def __init__( + self, + name=None, # type: str + ): + """ + Keyword args: + name (str): The resource name, such as volume name, pod name, snapshot name, and so on. + """ + if name is not None: + self.name = name + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `FixedReferenceNoId`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `FixedReferenceNoId`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `FixedReferenceNoId`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `FixedReferenceNoId`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(FixedReferenceNoId, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, FixedReferenceNoId): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/fixed_reference_with_type.py b/pypureclient/flasharray/FA_2_26/models/fixed_reference_with_type.py new file mode 100644 index 000000000..d4842366a --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/fixed_reference_with_type.py @@ -0,0 +1,141 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class FixedReferenceWithType(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'id': 'str', + 'name': 'str', + 'resource_type': 'str' + } + + attribute_map = { + 'id': 'id', + 'name': 'name', + 'resource_type': 'resource_type' + } + + required_args = { + } + + def __init__( + self, + id=None, # type: str + name=None, # type: str + resource_type=None, # type: str + ): + """ + Keyword args: + id (str): A globally unique, system-generated ID. The ID cannot be modified. + name (str): The resource name, such as volume name, pod name, snapshot name, and so on. + resource_type (str): Type of the object (full name of the endpoint). Valid values include `hosts`, `host-groups`, `network-interfaces`, `pods`, `ports`, `pod-replica-links`, `subnets`, `volumes`, `volume-snapshots`, `volume-groups`, `directories`, `policies/nfs`, `policies/smb`, `policies/snapshot`, and `policies/quota`, etc. + """ + if id is not None: + self.id = id + if name is not None: + self.name = name + if resource_type is not None: + self.resource_type = resource_type + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `FixedReferenceWithType`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `FixedReferenceWithType`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `FixedReferenceWithType`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `FixedReferenceWithType`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(FixedReferenceWithType, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, FixedReferenceWithType): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/hardware.py b/pypureclient/flasharray/FA_2_26/models/hardware.py new file mode 100644 index 000000000..e55f5871d --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/hardware.py @@ -0,0 +1,195 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class Hardware(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'name': 'str', + 'details': 'str', + 'identify_enabled': 'bool', + 'index': 'int', + 'model': 'str', + 'serial': 'str', + 'slot': 'int', + 'speed': 'int', + 'status': 'str', + 'temperature': 'int', + 'type': 'str', + 'voltage': 'int' + } + + attribute_map = { + 'name': 'name', + 'details': 'details', + 'identify_enabled': 'identify_enabled', + 'index': 'index', + 'model': 'model', + 'serial': 'serial', + 'slot': 'slot', + 'speed': 'speed', + 'status': 'status', + 'temperature': 'temperature', + 'type': 'type', + 'voltage': 'voltage' + } + + required_args = { + } + + def __init__( + self, + name=None, # type: str + details=None, # type: str + identify_enabled=None, # type: bool + index=None, # type: int + model=None, # type: str + serial=None, # type: str + slot=None, # type: int + speed=None, # type: int + status=None, # type: str + temperature=None, # type: int + type=None, # type: str + voltage=None, # type: int + ): + """ + Keyword args: + name (str): A locally unique, system-generated name. The name cannot be modified. + details (str): Details about the status of the component if not healthy. + identify_enabled (bool): If `true`, the ID LED is lit to visually identify the component. + index (int): Number that identifies the relative position of a hardware component within the array. + model (str): Model number of the hardware component. + serial (str): Serial number of the hardware component. + slot (int): Slot number occupied by the PCI Express card that hosts the component. + speed (int): Speed (in bytes per second) at which the component is operating. + status (str): Component status. Values include `critical`, `healthy`, `identifying`, `unhealthy`, `unknown`, and `unused`. + temperature (int): Temperature (in degrees Celsius) reported by the component. + type (str): Type of hardware component. Values include `bay`, `ct`, `ch`, `eth`, `fan`, `fb`, `fc`, `fm`, `ib`, `iom`, `nvb`, `pwr`, `sas`, `sh`, and `tmp`. + voltage (int): Voltage (in Volts) reported by the component. + """ + if name is not None: + self.name = name + if details is not None: + self.details = details + if identify_enabled is not None: + self.identify_enabled = identify_enabled + if index is not None: + self.index = index + if model is not None: + self.model = model + if serial is not None: + self.serial = serial + if slot is not None: + self.slot = slot + if speed is not None: + self.speed = speed + if status is not None: + self.status = status + if temperature is not None: + self.temperature = temperature + if type is not None: + self.type = type + if voltage is not None: + self.voltage = voltage + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Hardware`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Hardware`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Hardware`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Hardware`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(Hardware, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, Hardware): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/hardware_get_response.py b/pypureclient/flasharray/FA_2_26/models/hardware_get_response.py new file mode 100644 index 000000000..9ab50a5db --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/hardware_get_response.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class HardwareGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[Hardware]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.Hardware] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[Hardware]) + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `HardwareGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `HardwareGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `HardwareGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `HardwareGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(HardwareGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, HardwareGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/hardware_patch.py b/pypureclient/flasharray/FA_2_26/models/hardware_patch.py new file mode 100644 index 000000000..ac12df575 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/hardware_patch.py @@ -0,0 +1,141 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class HardwarePatch(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'name': 'str', + 'identify_enabled': 'bool', + 'index': 'int' + } + + attribute_map = { + 'name': 'name', + 'identify_enabled': 'identify_enabled', + 'index': 'index' + } + + required_args = { + } + + def __init__( + self, + name=None, # type: str + identify_enabled=None, # type: bool + index=None, # type: int + ): + """ + Keyword args: + name (str): A locally unique, system-generated name. The name cannot be modified. + identify_enabled (bool): State of an LED used to visually identify the component. + index (int): Number that identifies the relative position of a hardware component within the array. + """ + if name is not None: + self.name = name + if identify_enabled is not None: + self.identify_enabled = identify_enabled + if index is not None: + self.index = index + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `HardwarePatch`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `HardwarePatch`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `HardwarePatch`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `HardwarePatch`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(HardwarePatch, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, HardwarePatch): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/hardware_response.py b/pypureclient/flasharray/FA_2_26/models/hardware_response.py new file mode 100644 index 000000000..7b3c73c17 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/hardware_response.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class HardwareResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'items': 'list[Hardware]' + } + + attribute_map = { + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + items=None, # type: List[models.Hardware] + ): + """ + Keyword args: + items (list[Hardware]) + """ + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `HardwareResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `HardwareResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `HardwareResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `HardwareResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(HardwareResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, HardwareResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/host.py b/pypureclient/flasharray/FA_2_26/models/host.py new file mode 100644 index 000000000..c404439a0 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/host.py @@ -0,0 +1,201 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class Host(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'name': 'str', + 'chap': 'Chap', + 'connection_count': 'int', + 'host_group': 'ReferenceNoId', + 'iqns': 'list[str]', + 'nqns': 'list[str]', + 'personality': 'str', + 'port_connectivity': 'HostPortConnectivity', + 'preferred_arrays': 'list[Reference]', + 'space': 'Space', + 'wwns': 'list[str]', + 'is_local': 'bool', + 'vlan': 'str' + } + + attribute_map = { + 'name': 'name', + 'chap': 'chap', + 'connection_count': 'connection_count', + 'host_group': 'host_group', + 'iqns': 'iqns', + 'nqns': 'nqns', + 'personality': 'personality', + 'port_connectivity': 'port_connectivity', + 'preferred_arrays': 'preferred_arrays', + 'space': 'space', + 'wwns': 'wwns', + 'is_local': 'is_local', + 'vlan': 'vlan' + } + + required_args = { + } + + def __init__( + self, + name=None, # type: str + chap=None, # type: models.Chap + connection_count=None, # type: int + host_group=None, # type: models.ReferenceNoId + iqns=None, # type: List[str] + nqns=None, # type: List[str] + personality=None, # type: str + port_connectivity=None, # type: models.HostPortConnectivity + preferred_arrays=None, # type: List[models.Reference] + space=None, # type: models.Space + wwns=None, # type: List[str] + is_local=None, # type: bool + vlan=None, # type: str + ): + """ + Keyword args: + name (str): A user-specified name. The name must be locally unique and can be changed. + chap (Chap) + connection_count (int): The number of volumes connected to the specified host. + host_group (ReferenceNoId): The host group to which the host should be associated. + iqns (list[str]): The iSCSI qualified name (IQN) associated with the host. + nqns (list[str]): The NVMe Qualified Name (NQN) associated with the host. + personality (str): Determines how the system tunes the array to ensure that it works optimally with the host. Set `personality` to the name of the host operating system or virtual memory system. Valid values are `aix`, `esxi`, `hitachi-vsp`, `hpux`, `oracle-vm-server`, `solaris`, and `vms`. If your system is not listed as one of the valid host personalities, do not set the option. By default, the personality is not set. + port_connectivity (HostPortConnectivity) + preferred_arrays (list[Reference]): For synchronous replication configurations, sets a host's preferred array to specify which array exposes active/optimized paths to that host. Enter multiple preferred arrays in comma-separated format. If a preferred array is set for a host, then the other arrays in the same pod will expose active/non-optimized paths to that host. If the host is in a host group, `preferred_arrays` cannot be set because host groups have their own preferred arrays. On a preferred array of a certain host, all the paths on all the ports (for both the primary and secondary controllers) are set up as A/O (active/optimized) paths, while on a non-preferred array, all the paths are A/N (Active/Non-optimized) paths. + space (Space): Displays provisioned (virtual) size and physical storage consumption information for the sum of all volumes connected to the specified host. + wwns (list[str]): The Fibre Channel World Wide Name (WWN) associated with the host. + is_local (bool): -> If set to `true`, the location reference is to the local array. If set to `false`, the location reference is to a remote location, such as a remote array or offload target. + vlan (str): The VLAN ID that the host is associated with. If set to `any`, the host can access any VLAN. If set to `untagged`, the host can only access untagged VLANs. If set to a number between `1` and `4094`, the host can only access the specified VLAN with that number. + """ + if name is not None: + self.name = name + if chap is not None: + self.chap = chap + if connection_count is not None: + self.connection_count = connection_count + if host_group is not None: + self.host_group = host_group + if iqns is not None: + self.iqns = iqns + if nqns is not None: + self.nqns = nqns + if personality is not None: + self.personality = personality + if port_connectivity is not None: + self.port_connectivity = port_connectivity + if preferred_arrays is not None: + self.preferred_arrays = preferred_arrays + if space is not None: + self.space = space + if wwns is not None: + self.wwns = wwns + if is_local is not None: + self.is_local = is_local + if vlan is not None: + self.vlan = vlan + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Host`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Host`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Host`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Host`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(Host, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, Host): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/host_get_response.py b/pypureclient/flasharray/FA_2_26/models/host_get_response.py new file mode 100644 index 000000000..e60e7217f --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/host_get_response.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class HostGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[Host]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.Host] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[Host]): Returns a list of all items after filtering. If applicable, the values are displayed for each name. + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `HostGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `HostGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `HostGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `HostGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(HostGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, HostGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/host_group.py b/pypureclient/flasharray/FA_2_26/models/host_group.py new file mode 100644 index 000000000..175b0ae80 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/host_group.py @@ -0,0 +1,153 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class HostGroup(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'name': 'str', + 'connection_count': 'int', + 'host_count': 'int', + 'is_local': 'bool', + 'space': 'Space' + } + + attribute_map = { + 'name': 'name', + 'connection_count': 'connection_count', + 'host_count': 'host_count', + 'is_local': 'is_local', + 'space': 'space' + } + + required_args = { + } + + def __init__( + self, + name=None, # type: str + connection_count=None, # type: int + host_count=None, # type: int + is_local=None, # type: bool + space=None, # type: models.Space + ): + """ + Keyword args: + name (str): A user-specified name. The name must be locally unique and can be changed. + connection_count (int): The number of volumes connected to the host group. + host_count (int): The number of hosts in the host group. + is_local (bool): Returns a value of `true` if the host or host group belongs to the current array. Returns a value of `false` if the host or host group belongs to a remote array. + space (Space): Displays provisioned (virtual) size and physical storage consumption information for the sum of all volumes connected to the specified host. + """ + if name is not None: + self.name = name + if connection_count is not None: + self.connection_count = connection_count + if host_count is not None: + self.host_count = host_count + if is_local is not None: + self.is_local = is_local + if space is not None: + self.space = space + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `HostGroup`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `HostGroup`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `HostGroup`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `HostGroup`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(HostGroup, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, HostGroup): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/host_group_get_response.py b/pypureclient/flasharray/FA_2_26/models/host_group_get_response.py new file mode 100644 index 000000000..58f0989f0 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/host_group_get_response.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class HostGroupGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[HostGroup]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.HostGroup] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[HostGroup]): Returns a list of all items after filtering. If applicable, the values are displayed for each name. + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `HostGroupGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `HostGroupGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `HostGroupGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `HostGroupGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(HostGroupGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, HostGroupGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/host_group_patch.py b/pypureclient/flasharray/FA_2_26/models/host_group_patch.py new file mode 100644 index 000000000..6046e9c00 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/host_group_patch.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class HostGroupPatch(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'name': 'str' + } + + attribute_map = { + 'name': 'name' + } + + required_args = { + } + + def __init__( + self, + name=None, # type: str + ): + """ + Keyword args: + name (str): The new name for the resource. + """ + if name is not None: + self.name = name + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `HostGroupPatch`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `HostGroupPatch`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `HostGroupPatch`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `HostGroupPatch`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(HostGroupPatch, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, HostGroupPatch): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/host_group_performance.py b/pypureclient/flasharray/FA_2_26/models/host_group_performance.py new file mode 100644 index 000000000..29054f91d --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/host_group_performance.py @@ -0,0 +1,377 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class HostGroupPerformance(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'bytes_per_mirrored_write': 'int', + 'bytes_per_op': 'int', + 'bytes_per_read': 'int', + 'bytes_per_write': 'int', + 'mirrored_write_bytes_per_sec': 'int', + 'mirrored_writes_per_sec': 'int', + 'qos_rate_limit_usec_per_mirrored_write_op': 'int', + 'qos_rate_limit_usec_per_read_op': 'int', + 'qos_rate_limit_usec_per_write_op': 'int', + 'queue_usec_per_mirrored_write_op': 'int', + 'queue_usec_per_read_op': 'int', + 'queue_usec_per_write_op': 'int', + 'read_bytes_per_sec': 'int', + 'reads_per_sec': 'int', + 'san_usec_per_mirrored_write_op': 'int', + 'san_usec_per_read_op': 'int', + 'san_usec_per_write_op': 'int', + 'service_usec_per_mirrored_write_op': 'int', + 'service_usec_per_read_op': 'int', + 'service_usec_per_write_op': 'int', + 'time': 'int', + 'usec_per_mirrored_write_op': 'int', + 'usec_per_read_op': 'int', + 'usec_per_write_op': 'int', + 'write_bytes_per_sec': 'int', + 'writes_per_sec': 'int', + 'service_usec_per_read_op_cache_reduction': 'float', + 'id': 'str', + 'name': 'str' + } + + attribute_map = { + 'bytes_per_mirrored_write': 'bytes_per_mirrored_write', + 'bytes_per_op': 'bytes_per_op', + 'bytes_per_read': 'bytes_per_read', + 'bytes_per_write': 'bytes_per_write', + 'mirrored_write_bytes_per_sec': 'mirrored_write_bytes_per_sec', + 'mirrored_writes_per_sec': 'mirrored_writes_per_sec', + 'qos_rate_limit_usec_per_mirrored_write_op': 'qos_rate_limit_usec_per_mirrored_write_op', + 'qos_rate_limit_usec_per_read_op': 'qos_rate_limit_usec_per_read_op', + 'qos_rate_limit_usec_per_write_op': 'qos_rate_limit_usec_per_write_op', + 'queue_usec_per_mirrored_write_op': 'queue_usec_per_mirrored_write_op', + 'queue_usec_per_read_op': 'queue_usec_per_read_op', + 'queue_usec_per_write_op': 'queue_usec_per_write_op', + 'read_bytes_per_sec': 'read_bytes_per_sec', + 'reads_per_sec': 'reads_per_sec', + 'san_usec_per_mirrored_write_op': 'san_usec_per_mirrored_write_op', + 'san_usec_per_read_op': 'san_usec_per_read_op', + 'san_usec_per_write_op': 'san_usec_per_write_op', + 'service_usec_per_mirrored_write_op': 'service_usec_per_mirrored_write_op', + 'service_usec_per_read_op': 'service_usec_per_read_op', + 'service_usec_per_write_op': 'service_usec_per_write_op', + 'time': 'time', + 'usec_per_mirrored_write_op': 'usec_per_mirrored_write_op', + 'usec_per_read_op': 'usec_per_read_op', + 'usec_per_write_op': 'usec_per_write_op', + 'write_bytes_per_sec': 'write_bytes_per_sec', + 'writes_per_sec': 'writes_per_sec', + 'service_usec_per_read_op_cache_reduction': 'service_usec_per_read_op_cache_reduction', + 'id': 'id', + 'name': 'name' + } + + required_args = { + } + + def __init__( + self, + bytes_per_mirrored_write=None, # type: int + bytes_per_op=None, # type: int + bytes_per_read=None, # type: int + bytes_per_write=None, # type: int + mirrored_write_bytes_per_sec=None, # type: int + mirrored_writes_per_sec=None, # type: int + qos_rate_limit_usec_per_mirrored_write_op=None, # type: int + qos_rate_limit_usec_per_read_op=None, # type: int + qos_rate_limit_usec_per_write_op=None, # type: int + queue_usec_per_mirrored_write_op=None, # type: int + queue_usec_per_read_op=None, # type: int + queue_usec_per_write_op=None, # type: int + read_bytes_per_sec=None, # type: int + reads_per_sec=None, # type: int + san_usec_per_mirrored_write_op=None, # type: int + san_usec_per_read_op=None, # type: int + san_usec_per_write_op=None, # type: int + service_usec_per_mirrored_write_op=None, # type: int + service_usec_per_read_op=None, # type: int + service_usec_per_write_op=None, # type: int + time=None, # type: int + usec_per_mirrored_write_op=None, # type: int + usec_per_read_op=None, # type: int + usec_per_write_op=None, # type: int + write_bytes_per_sec=None, # type: int + writes_per_sec=None, # type: int + service_usec_per_read_op_cache_reduction=None, # type: float + id=None, # type: str + name=None, # type: str + ): + """ + Keyword args: + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. + bytes_per_op (int): The average I/O size for both read and write (all) operations. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. + mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. + mirrored_writes_per_sec (int): The number of mirrored writes per second. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. + read_bytes_per_sec (int): The number of bytes read per second. + reads_per_sec (int): The number of read requests processed per second. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + write_bytes_per_sec (int): The number of bytes written per second. + writes_per_sec (int): The number of write requests processed per second. + service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. + id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. + name (str): A user-specified name. The name must be locally unique and can be changed. + """ + if bytes_per_mirrored_write is not None: + self.bytes_per_mirrored_write = bytes_per_mirrored_write + if bytes_per_op is not None: + self.bytes_per_op = bytes_per_op + if bytes_per_read is not None: + self.bytes_per_read = bytes_per_read + if bytes_per_write is not None: + self.bytes_per_write = bytes_per_write + if mirrored_write_bytes_per_sec is not None: + self.mirrored_write_bytes_per_sec = mirrored_write_bytes_per_sec + if mirrored_writes_per_sec is not None: + self.mirrored_writes_per_sec = mirrored_writes_per_sec + if qos_rate_limit_usec_per_mirrored_write_op is not None: + self.qos_rate_limit_usec_per_mirrored_write_op = qos_rate_limit_usec_per_mirrored_write_op + if qos_rate_limit_usec_per_read_op is not None: + self.qos_rate_limit_usec_per_read_op = qos_rate_limit_usec_per_read_op + if qos_rate_limit_usec_per_write_op is not None: + self.qos_rate_limit_usec_per_write_op = qos_rate_limit_usec_per_write_op + if queue_usec_per_mirrored_write_op is not None: + self.queue_usec_per_mirrored_write_op = queue_usec_per_mirrored_write_op + if queue_usec_per_read_op is not None: + self.queue_usec_per_read_op = queue_usec_per_read_op + if queue_usec_per_write_op is not None: + self.queue_usec_per_write_op = queue_usec_per_write_op + if read_bytes_per_sec is not None: + self.read_bytes_per_sec = read_bytes_per_sec + if reads_per_sec is not None: + self.reads_per_sec = reads_per_sec + if san_usec_per_mirrored_write_op is not None: + self.san_usec_per_mirrored_write_op = san_usec_per_mirrored_write_op + if san_usec_per_read_op is not None: + self.san_usec_per_read_op = san_usec_per_read_op + if san_usec_per_write_op is not None: + self.san_usec_per_write_op = san_usec_per_write_op + if service_usec_per_mirrored_write_op is not None: + self.service_usec_per_mirrored_write_op = service_usec_per_mirrored_write_op + if service_usec_per_read_op is not None: + self.service_usec_per_read_op = service_usec_per_read_op + if service_usec_per_write_op is not None: + self.service_usec_per_write_op = service_usec_per_write_op + if time is not None: + self.time = time + if usec_per_mirrored_write_op is not None: + self.usec_per_mirrored_write_op = usec_per_mirrored_write_op + if usec_per_read_op is not None: + self.usec_per_read_op = usec_per_read_op + if usec_per_write_op is not None: + self.usec_per_write_op = usec_per_write_op + if write_bytes_per_sec is not None: + self.write_bytes_per_sec = write_bytes_per_sec + if writes_per_sec is not None: + self.writes_per_sec = writes_per_sec + if service_usec_per_read_op_cache_reduction is not None: + self.service_usec_per_read_op_cache_reduction = service_usec_per_read_op_cache_reduction + if id is not None: + self.id = id + if name is not None: + self.name = name + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `HostGroupPerformance`".format(key)) + if key == "bytes_per_mirrored_write" and value is not None: + if value < 0: + raise ValueError("Invalid value for `bytes_per_mirrored_write`, must be a value greater than or equal to `0`") + if key == "bytes_per_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `bytes_per_op`, must be a value greater than or equal to `0`") + if key == "bytes_per_read" and value is not None: + if value < 0: + raise ValueError("Invalid value for `bytes_per_read`, must be a value greater than or equal to `0`") + if key == "bytes_per_write" and value is not None: + if value < 0: + raise ValueError("Invalid value for `bytes_per_write`, must be a value greater than or equal to `0`") + if key == "mirrored_write_bytes_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `mirrored_write_bytes_per_sec`, must be a value greater than or equal to `0`") + if key == "mirrored_writes_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `mirrored_writes_per_sec`, must be a value greater than or equal to `0`") + if key == "qos_rate_limit_usec_per_mirrored_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `qos_rate_limit_usec_per_mirrored_write_op`, must be a value greater than or equal to `0`") + if key == "qos_rate_limit_usec_per_read_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `qos_rate_limit_usec_per_read_op`, must be a value greater than or equal to `0`") + if key == "qos_rate_limit_usec_per_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `qos_rate_limit_usec_per_write_op`, must be a value greater than or equal to `0`") + if key == "queue_usec_per_mirrored_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `queue_usec_per_mirrored_write_op`, must be a value greater than or equal to `0`") + if key == "queue_usec_per_read_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `queue_usec_per_read_op`, must be a value greater than or equal to `0`") + if key == "queue_usec_per_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `queue_usec_per_write_op`, must be a value greater than or equal to `0`") + if key == "read_bytes_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `read_bytes_per_sec`, must be a value greater than or equal to `0`") + if key == "reads_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `reads_per_sec`, must be a value greater than or equal to `0`") + if key == "san_usec_per_mirrored_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `san_usec_per_mirrored_write_op`, must be a value greater than or equal to `0`") + if key == "san_usec_per_read_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `san_usec_per_read_op`, must be a value greater than or equal to `0`") + if key == "san_usec_per_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `san_usec_per_write_op`, must be a value greater than or equal to `0`") + if key == "service_usec_per_mirrored_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `service_usec_per_mirrored_write_op`, must be a value greater than or equal to `0`") + if key == "service_usec_per_read_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `service_usec_per_read_op`, must be a value greater than or equal to `0`") + if key == "service_usec_per_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `service_usec_per_write_op`, must be a value greater than or equal to `0`") + if key == "usec_per_mirrored_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `usec_per_mirrored_write_op`, must be a value greater than or equal to `0`") + if key == "usec_per_read_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `usec_per_read_op`, must be a value greater than or equal to `0`") + if key == "usec_per_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `usec_per_write_op`, must be a value greater than or equal to `0`") + if key == "write_bytes_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `write_bytes_per_sec`, must be a value greater than or equal to `0`") + if key == "writes_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `writes_per_sec`, must be a value greater than or equal to `0`") + if key == "service_usec_per_read_op_cache_reduction" and value is not None: + if value > 1.0: + raise ValueError("Invalid value for `service_usec_per_read_op_cache_reduction`, value must be less than or equal to `1.0`") + if value < 0.0: + raise ValueError("Invalid value for `service_usec_per_read_op_cache_reduction`, must be a value greater than or equal to `0.0`") + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `HostGroupPerformance`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `HostGroupPerformance`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `HostGroupPerformance`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(HostGroupPerformance, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, HostGroupPerformance): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/host_group_performance_by_array.py b/pypureclient/flasharray/FA_2_26/models/host_group_performance_by_array.py new file mode 100644 index 000000000..7f5917ec7 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/host_group_performance_by_array.py @@ -0,0 +1,383 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class HostGroupPerformanceByArray(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'bytes_per_mirrored_write': 'int', + 'bytes_per_op': 'int', + 'bytes_per_read': 'int', + 'bytes_per_write': 'int', + 'mirrored_write_bytes_per_sec': 'int', + 'mirrored_writes_per_sec': 'int', + 'qos_rate_limit_usec_per_mirrored_write_op': 'int', + 'qos_rate_limit_usec_per_read_op': 'int', + 'qos_rate_limit_usec_per_write_op': 'int', + 'queue_usec_per_mirrored_write_op': 'int', + 'queue_usec_per_read_op': 'int', + 'queue_usec_per_write_op': 'int', + 'read_bytes_per_sec': 'int', + 'reads_per_sec': 'int', + 'san_usec_per_mirrored_write_op': 'int', + 'san_usec_per_read_op': 'int', + 'san_usec_per_write_op': 'int', + 'service_usec_per_mirrored_write_op': 'int', + 'service_usec_per_read_op': 'int', + 'service_usec_per_write_op': 'int', + 'time': 'int', + 'usec_per_mirrored_write_op': 'int', + 'usec_per_read_op': 'int', + 'usec_per_write_op': 'int', + 'write_bytes_per_sec': 'int', + 'writes_per_sec': 'int', + 'service_usec_per_read_op_cache_reduction': 'float', + 'id': 'str', + 'name': 'str', + 'array': 'Resource' + } + + attribute_map = { + 'bytes_per_mirrored_write': 'bytes_per_mirrored_write', + 'bytes_per_op': 'bytes_per_op', + 'bytes_per_read': 'bytes_per_read', + 'bytes_per_write': 'bytes_per_write', + 'mirrored_write_bytes_per_sec': 'mirrored_write_bytes_per_sec', + 'mirrored_writes_per_sec': 'mirrored_writes_per_sec', + 'qos_rate_limit_usec_per_mirrored_write_op': 'qos_rate_limit_usec_per_mirrored_write_op', + 'qos_rate_limit_usec_per_read_op': 'qos_rate_limit_usec_per_read_op', + 'qos_rate_limit_usec_per_write_op': 'qos_rate_limit_usec_per_write_op', + 'queue_usec_per_mirrored_write_op': 'queue_usec_per_mirrored_write_op', + 'queue_usec_per_read_op': 'queue_usec_per_read_op', + 'queue_usec_per_write_op': 'queue_usec_per_write_op', + 'read_bytes_per_sec': 'read_bytes_per_sec', + 'reads_per_sec': 'reads_per_sec', + 'san_usec_per_mirrored_write_op': 'san_usec_per_mirrored_write_op', + 'san_usec_per_read_op': 'san_usec_per_read_op', + 'san_usec_per_write_op': 'san_usec_per_write_op', + 'service_usec_per_mirrored_write_op': 'service_usec_per_mirrored_write_op', + 'service_usec_per_read_op': 'service_usec_per_read_op', + 'service_usec_per_write_op': 'service_usec_per_write_op', + 'time': 'time', + 'usec_per_mirrored_write_op': 'usec_per_mirrored_write_op', + 'usec_per_read_op': 'usec_per_read_op', + 'usec_per_write_op': 'usec_per_write_op', + 'write_bytes_per_sec': 'write_bytes_per_sec', + 'writes_per_sec': 'writes_per_sec', + 'service_usec_per_read_op_cache_reduction': 'service_usec_per_read_op_cache_reduction', + 'id': 'id', + 'name': 'name', + 'array': 'array' + } + + required_args = { + } + + def __init__( + self, + bytes_per_mirrored_write=None, # type: int + bytes_per_op=None, # type: int + bytes_per_read=None, # type: int + bytes_per_write=None, # type: int + mirrored_write_bytes_per_sec=None, # type: int + mirrored_writes_per_sec=None, # type: int + qos_rate_limit_usec_per_mirrored_write_op=None, # type: int + qos_rate_limit_usec_per_read_op=None, # type: int + qos_rate_limit_usec_per_write_op=None, # type: int + queue_usec_per_mirrored_write_op=None, # type: int + queue_usec_per_read_op=None, # type: int + queue_usec_per_write_op=None, # type: int + read_bytes_per_sec=None, # type: int + reads_per_sec=None, # type: int + san_usec_per_mirrored_write_op=None, # type: int + san_usec_per_read_op=None, # type: int + san_usec_per_write_op=None, # type: int + service_usec_per_mirrored_write_op=None, # type: int + service_usec_per_read_op=None, # type: int + service_usec_per_write_op=None, # type: int + time=None, # type: int + usec_per_mirrored_write_op=None, # type: int + usec_per_read_op=None, # type: int + usec_per_write_op=None, # type: int + write_bytes_per_sec=None, # type: int + writes_per_sec=None, # type: int + service_usec_per_read_op_cache_reduction=None, # type: float + id=None, # type: str + name=None, # type: str + array=None, # type: models.Resource + ): + """ + Keyword args: + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. + bytes_per_op (int): The average I/O size for both read and write (all) operations. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. + mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. + mirrored_writes_per_sec (int): The number of mirrored writes per second. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. + read_bytes_per_sec (int): The number of bytes read per second. + reads_per_sec (int): The number of read requests processed per second. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + write_bytes_per_sec (int): The number of bytes written per second. + writes_per_sec (int): The number of write requests processed per second. + service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. + id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. + name (str): A user-specified name. The name must be locally unique and can be changed. + array (Resource): The array on which the performance metrics were recorded. + """ + if bytes_per_mirrored_write is not None: + self.bytes_per_mirrored_write = bytes_per_mirrored_write + if bytes_per_op is not None: + self.bytes_per_op = bytes_per_op + if bytes_per_read is not None: + self.bytes_per_read = bytes_per_read + if bytes_per_write is not None: + self.bytes_per_write = bytes_per_write + if mirrored_write_bytes_per_sec is not None: + self.mirrored_write_bytes_per_sec = mirrored_write_bytes_per_sec + if mirrored_writes_per_sec is not None: + self.mirrored_writes_per_sec = mirrored_writes_per_sec + if qos_rate_limit_usec_per_mirrored_write_op is not None: + self.qos_rate_limit_usec_per_mirrored_write_op = qos_rate_limit_usec_per_mirrored_write_op + if qos_rate_limit_usec_per_read_op is not None: + self.qos_rate_limit_usec_per_read_op = qos_rate_limit_usec_per_read_op + if qos_rate_limit_usec_per_write_op is not None: + self.qos_rate_limit_usec_per_write_op = qos_rate_limit_usec_per_write_op + if queue_usec_per_mirrored_write_op is not None: + self.queue_usec_per_mirrored_write_op = queue_usec_per_mirrored_write_op + if queue_usec_per_read_op is not None: + self.queue_usec_per_read_op = queue_usec_per_read_op + if queue_usec_per_write_op is not None: + self.queue_usec_per_write_op = queue_usec_per_write_op + if read_bytes_per_sec is not None: + self.read_bytes_per_sec = read_bytes_per_sec + if reads_per_sec is not None: + self.reads_per_sec = reads_per_sec + if san_usec_per_mirrored_write_op is not None: + self.san_usec_per_mirrored_write_op = san_usec_per_mirrored_write_op + if san_usec_per_read_op is not None: + self.san_usec_per_read_op = san_usec_per_read_op + if san_usec_per_write_op is not None: + self.san_usec_per_write_op = san_usec_per_write_op + if service_usec_per_mirrored_write_op is not None: + self.service_usec_per_mirrored_write_op = service_usec_per_mirrored_write_op + if service_usec_per_read_op is not None: + self.service_usec_per_read_op = service_usec_per_read_op + if service_usec_per_write_op is not None: + self.service_usec_per_write_op = service_usec_per_write_op + if time is not None: + self.time = time + if usec_per_mirrored_write_op is not None: + self.usec_per_mirrored_write_op = usec_per_mirrored_write_op + if usec_per_read_op is not None: + self.usec_per_read_op = usec_per_read_op + if usec_per_write_op is not None: + self.usec_per_write_op = usec_per_write_op + if write_bytes_per_sec is not None: + self.write_bytes_per_sec = write_bytes_per_sec + if writes_per_sec is not None: + self.writes_per_sec = writes_per_sec + if service_usec_per_read_op_cache_reduction is not None: + self.service_usec_per_read_op_cache_reduction = service_usec_per_read_op_cache_reduction + if id is not None: + self.id = id + if name is not None: + self.name = name + if array is not None: + self.array = array + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `HostGroupPerformanceByArray`".format(key)) + if key == "bytes_per_mirrored_write" and value is not None: + if value < 0: + raise ValueError("Invalid value for `bytes_per_mirrored_write`, must be a value greater than or equal to `0`") + if key == "bytes_per_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `bytes_per_op`, must be a value greater than or equal to `0`") + if key == "bytes_per_read" and value is not None: + if value < 0: + raise ValueError("Invalid value for `bytes_per_read`, must be a value greater than or equal to `0`") + if key == "bytes_per_write" and value is not None: + if value < 0: + raise ValueError("Invalid value for `bytes_per_write`, must be a value greater than or equal to `0`") + if key == "mirrored_write_bytes_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `mirrored_write_bytes_per_sec`, must be a value greater than or equal to `0`") + if key == "mirrored_writes_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `mirrored_writes_per_sec`, must be a value greater than or equal to `0`") + if key == "qos_rate_limit_usec_per_mirrored_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `qos_rate_limit_usec_per_mirrored_write_op`, must be a value greater than or equal to `0`") + if key == "qos_rate_limit_usec_per_read_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `qos_rate_limit_usec_per_read_op`, must be a value greater than or equal to `0`") + if key == "qos_rate_limit_usec_per_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `qos_rate_limit_usec_per_write_op`, must be a value greater than or equal to `0`") + if key == "queue_usec_per_mirrored_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `queue_usec_per_mirrored_write_op`, must be a value greater than or equal to `0`") + if key == "queue_usec_per_read_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `queue_usec_per_read_op`, must be a value greater than or equal to `0`") + if key == "queue_usec_per_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `queue_usec_per_write_op`, must be a value greater than or equal to `0`") + if key == "read_bytes_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `read_bytes_per_sec`, must be a value greater than or equal to `0`") + if key == "reads_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `reads_per_sec`, must be a value greater than or equal to `0`") + if key == "san_usec_per_mirrored_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `san_usec_per_mirrored_write_op`, must be a value greater than or equal to `0`") + if key == "san_usec_per_read_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `san_usec_per_read_op`, must be a value greater than or equal to `0`") + if key == "san_usec_per_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `san_usec_per_write_op`, must be a value greater than or equal to `0`") + if key == "service_usec_per_mirrored_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `service_usec_per_mirrored_write_op`, must be a value greater than or equal to `0`") + if key == "service_usec_per_read_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `service_usec_per_read_op`, must be a value greater than or equal to `0`") + if key == "service_usec_per_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `service_usec_per_write_op`, must be a value greater than or equal to `0`") + if key == "usec_per_mirrored_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `usec_per_mirrored_write_op`, must be a value greater than or equal to `0`") + if key == "usec_per_read_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `usec_per_read_op`, must be a value greater than or equal to `0`") + if key == "usec_per_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `usec_per_write_op`, must be a value greater than or equal to `0`") + if key == "write_bytes_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `write_bytes_per_sec`, must be a value greater than or equal to `0`") + if key == "writes_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `writes_per_sec`, must be a value greater than or equal to `0`") + if key == "service_usec_per_read_op_cache_reduction" and value is not None: + if value > 1.0: + raise ValueError("Invalid value for `service_usec_per_read_op_cache_reduction`, value must be less than or equal to `1.0`") + if value < 0.0: + raise ValueError("Invalid value for `service_usec_per_read_op_cache_reduction`, must be a value greater than or equal to `0.0`") + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `HostGroupPerformanceByArray`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `HostGroupPerformanceByArray`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `HostGroupPerformanceByArray`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(HostGroupPerformanceByArray, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, HostGroupPerformanceByArray): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/host_group_response.py b/pypureclient/flasharray/FA_2_26/models/host_group_response.py new file mode 100644 index 000000000..7cd083e86 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/host_group_response.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class HostGroupResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'items': 'list[HostGroup]' + } + + attribute_map = { + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + items=None, # type: List[models.HostGroup] + ): + """ + Keyword args: + items (list[HostGroup]): Returns a list of all items after filtering. If applicable, the values are displayed for each name. + """ + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `HostGroupResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `HostGroupResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `HostGroupResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `HostGroupResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(HostGroupResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, HostGroupResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/host_group_space.py b/pypureclient/flasharray/FA_2_26/models/host_group_space.py new file mode 100644 index 000000000..64c45983c --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/host_group_space.py @@ -0,0 +1,141 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class HostGroupSpace(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'name': 'str', + 'space': 'Space', + 'time': 'int' + } + + attribute_map = { + 'name': 'name', + 'space': 'space', + 'time': 'time' + } + + required_args = { + } + + def __init__( + self, + name=None, # type: str + space=None, # type: models.Space + time=None, # type: int + ): + """ + Keyword args: + name (str): A locally unique, system-generated name. The name cannot be modified. + space (Space): Displays size and space consumption information. + time (int) + """ + if name is not None: + self.name = name + if space is not None: + self.space = space + if time is not None: + self.time = time + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `HostGroupSpace`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `HostGroupSpace`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `HostGroupSpace`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `HostGroupSpace`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(HostGroupSpace, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, HostGroupSpace): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/host_patch.py b/pypureclient/flasharray/FA_2_26/models/host_patch.py new file mode 100644 index 000000000..2c3ac1eaa --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/host_patch.py @@ -0,0 +1,213 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class HostPatch(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'name': 'str', + 'add_iqns': 'list[str]', + 'add_nqns': 'list[str]', + 'add_wwns': 'list[str]', + 'chap': 'Chap', + 'host_group': 'ReferenceNoId', + 'iqns': 'list[str]', + 'nqns': 'list[str]', + 'personality': 'str', + 'preferred_arrays': 'list[Reference]', + 'remove_iqns': 'list[str]', + 'remove_nqns': 'list[str]', + 'remove_wwns': 'list[str]', + 'wwns': 'list[str]', + 'vlan': 'str' + } + + attribute_map = { + 'name': 'name', + 'add_iqns': 'add_iqns', + 'add_nqns': 'add_nqns', + 'add_wwns': 'add_wwns', + 'chap': 'chap', + 'host_group': 'host_group', + 'iqns': 'iqns', + 'nqns': 'nqns', + 'personality': 'personality', + 'preferred_arrays': 'preferred_arrays', + 'remove_iqns': 'remove_iqns', + 'remove_nqns': 'remove_nqns', + 'remove_wwns': 'remove_wwns', + 'wwns': 'wwns', + 'vlan': 'vlan' + } + + required_args = { + } + + def __init__( + self, + name=None, # type: str + add_iqns=None, # type: List[str] + add_nqns=None, # type: List[str] + add_wwns=None, # type: List[str] + chap=None, # type: models.Chap + host_group=None, # type: models.ReferenceNoId + iqns=None, # type: List[str] + nqns=None, # type: List[str] + personality=None, # type: str + preferred_arrays=None, # type: List[models.Reference] + remove_iqns=None, # type: List[str] + remove_nqns=None, # type: List[str] + remove_wwns=None, # type: List[str] + wwns=None, # type: List[str] + vlan=None, # type: str + ): + """ + Keyword args: + name (str): The new name for the resource. + add_iqns (list[str]): Adds the specified iSCSI Qualified Names (IQNs) to those already associated with the specified host. + add_nqns (list[str]): Adds the specified NVMe Qualified Names (NQNs) to those already associated with the specified host. + add_wwns (list[str]): Adds the specified Fibre Channel World Wide Names (WWNs) to those already associated with the specified host. + chap (Chap) + host_group (ReferenceNoId): The host group to which the host should be associated. + iqns (list[str]): The iSCSI qualified name (IQN) associated with the host. + nqns (list[str]): The NVMe Qualified Name (NQN) associated with the host. + personality (str): Determines how the system tunes the array to ensure that it works optimally with the host. Set `personality` to the name of the host operating system or virtual memory system. Valid values are `aix`, `esxi`, `hitachi-vsp`, `hpux`, `oracle-vm-server`, `solaris`, and `vms`. If your system is not listed as one of the valid host personalities, do not set the option. By default, the personality is not set. + preferred_arrays (list[Reference]): For synchronous replication configurations, sets a host's preferred array to specify which array exposes active/optimized paths to that host. Enter multiple preferred arrays in comma-separated format. If a preferred array is set for a host, then the other arrays in the same pod will expose active/non-optimized paths to that host. If the host is in a host group, `preferred_arrays` cannot be set because host groups have their own preferred arrays. On a preferred array of a certain host, all the paths on all the ports (for both the primary and secondary controllers) are set up as A/O (active/optimized) paths, while on a non-preferred array, all the paths are A/N (Active/Non-optimized) paths. + remove_iqns (list[str]): Disassociates the specified iSCSI Qualified Names (IQNs) from the specified host. + remove_nqns (list[str]): Disassociates the specified NVMe Qualified Names (NQNs) from the specified host. + remove_wwns (list[str]): Disassociates the specified Fibre Channel World Wide Names (WWNs) from the specified host. + wwns (list[str]): The Fibre Channel World Wide Name (WWN) associated with the host. + vlan (str): The VLAN ID that the host is associated with. If not set, there is no change in VLAN. If set to `any`, the host can access any VLAN. If set to `untagged`, the host can only access untagged VLANs. If set to a number between `1` and `4094`, the host can only access the specified VLAN with that number. + """ + if name is not None: + self.name = name + if add_iqns is not None: + self.add_iqns = add_iqns + if add_nqns is not None: + self.add_nqns = add_nqns + if add_wwns is not None: + self.add_wwns = add_wwns + if chap is not None: + self.chap = chap + if host_group is not None: + self.host_group = host_group + if iqns is not None: + self.iqns = iqns + if nqns is not None: + self.nqns = nqns + if personality is not None: + self.personality = personality + if preferred_arrays is not None: + self.preferred_arrays = preferred_arrays + if remove_iqns is not None: + self.remove_iqns = remove_iqns + if remove_nqns is not None: + self.remove_nqns = remove_nqns + if remove_wwns is not None: + self.remove_wwns = remove_wwns + if wwns is not None: + self.wwns = wwns + if vlan is not None: + self.vlan = vlan + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `HostPatch`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `HostPatch`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `HostPatch`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `HostPatch`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(HostPatch, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, HostPatch): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/host_performance.py b/pypureclient/flasharray/FA_2_26/models/host_performance.py new file mode 100644 index 000000000..4313a307d --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/host_performance.py @@ -0,0 +1,377 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class HostPerformance(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'bytes_per_mirrored_write': 'int', + 'bytes_per_op': 'int', + 'bytes_per_read': 'int', + 'bytes_per_write': 'int', + 'mirrored_write_bytes_per_sec': 'int', + 'mirrored_writes_per_sec': 'int', + 'qos_rate_limit_usec_per_mirrored_write_op': 'int', + 'qos_rate_limit_usec_per_read_op': 'int', + 'qos_rate_limit_usec_per_write_op': 'int', + 'queue_usec_per_mirrored_write_op': 'int', + 'queue_usec_per_read_op': 'int', + 'queue_usec_per_write_op': 'int', + 'read_bytes_per_sec': 'int', + 'reads_per_sec': 'int', + 'san_usec_per_mirrored_write_op': 'int', + 'san_usec_per_read_op': 'int', + 'san_usec_per_write_op': 'int', + 'service_usec_per_mirrored_write_op': 'int', + 'service_usec_per_read_op': 'int', + 'service_usec_per_write_op': 'int', + 'time': 'int', + 'usec_per_mirrored_write_op': 'int', + 'usec_per_read_op': 'int', + 'usec_per_write_op': 'int', + 'write_bytes_per_sec': 'int', + 'writes_per_sec': 'int', + 'service_usec_per_read_op_cache_reduction': 'float', + 'id': 'str', + 'name': 'str' + } + + attribute_map = { + 'bytes_per_mirrored_write': 'bytes_per_mirrored_write', + 'bytes_per_op': 'bytes_per_op', + 'bytes_per_read': 'bytes_per_read', + 'bytes_per_write': 'bytes_per_write', + 'mirrored_write_bytes_per_sec': 'mirrored_write_bytes_per_sec', + 'mirrored_writes_per_sec': 'mirrored_writes_per_sec', + 'qos_rate_limit_usec_per_mirrored_write_op': 'qos_rate_limit_usec_per_mirrored_write_op', + 'qos_rate_limit_usec_per_read_op': 'qos_rate_limit_usec_per_read_op', + 'qos_rate_limit_usec_per_write_op': 'qos_rate_limit_usec_per_write_op', + 'queue_usec_per_mirrored_write_op': 'queue_usec_per_mirrored_write_op', + 'queue_usec_per_read_op': 'queue_usec_per_read_op', + 'queue_usec_per_write_op': 'queue_usec_per_write_op', + 'read_bytes_per_sec': 'read_bytes_per_sec', + 'reads_per_sec': 'reads_per_sec', + 'san_usec_per_mirrored_write_op': 'san_usec_per_mirrored_write_op', + 'san_usec_per_read_op': 'san_usec_per_read_op', + 'san_usec_per_write_op': 'san_usec_per_write_op', + 'service_usec_per_mirrored_write_op': 'service_usec_per_mirrored_write_op', + 'service_usec_per_read_op': 'service_usec_per_read_op', + 'service_usec_per_write_op': 'service_usec_per_write_op', + 'time': 'time', + 'usec_per_mirrored_write_op': 'usec_per_mirrored_write_op', + 'usec_per_read_op': 'usec_per_read_op', + 'usec_per_write_op': 'usec_per_write_op', + 'write_bytes_per_sec': 'write_bytes_per_sec', + 'writes_per_sec': 'writes_per_sec', + 'service_usec_per_read_op_cache_reduction': 'service_usec_per_read_op_cache_reduction', + 'id': 'id', + 'name': 'name' + } + + required_args = { + } + + def __init__( + self, + bytes_per_mirrored_write=None, # type: int + bytes_per_op=None, # type: int + bytes_per_read=None, # type: int + bytes_per_write=None, # type: int + mirrored_write_bytes_per_sec=None, # type: int + mirrored_writes_per_sec=None, # type: int + qos_rate_limit_usec_per_mirrored_write_op=None, # type: int + qos_rate_limit_usec_per_read_op=None, # type: int + qos_rate_limit_usec_per_write_op=None, # type: int + queue_usec_per_mirrored_write_op=None, # type: int + queue_usec_per_read_op=None, # type: int + queue_usec_per_write_op=None, # type: int + read_bytes_per_sec=None, # type: int + reads_per_sec=None, # type: int + san_usec_per_mirrored_write_op=None, # type: int + san_usec_per_read_op=None, # type: int + san_usec_per_write_op=None, # type: int + service_usec_per_mirrored_write_op=None, # type: int + service_usec_per_read_op=None, # type: int + service_usec_per_write_op=None, # type: int + time=None, # type: int + usec_per_mirrored_write_op=None, # type: int + usec_per_read_op=None, # type: int + usec_per_write_op=None, # type: int + write_bytes_per_sec=None, # type: int + writes_per_sec=None, # type: int + service_usec_per_read_op_cache_reduction=None, # type: float + id=None, # type: str + name=None, # type: str + ): + """ + Keyword args: + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. + bytes_per_op (int): The average I/O size for both read and write (all) operations. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. + mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. + mirrored_writes_per_sec (int): The number of mirrored writes per second. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. + read_bytes_per_sec (int): The number of bytes read per second. + reads_per_sec (int): The number of read requests processed per second. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + write_bytes_per_sec (int): The number of bytes written per second. + writes_per_sec (int): The number of write requests processed per second. + service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. + id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. + name (str): A user-specified name. The name must be locally unique and can be changed. + """ + if bytes_per_mirrored_write is not None: + self.bytes_per_mirrored_write = bytes_per_mirrored_write + if bytes_per_op is not None: + self.bytes_per_op = bytes_per_op + if bytes_per_read is not None: + self.bytes_per_read = bytes_per_read + if bytes_per_write is not None: + self.bytes_per_write = bytes_per_write + if mirrored_write_bytes_per_sec is not None: + self.mirrored_write_bytes_per_sec = mirrored_write_bytes_per_sec + if mirrored_writes_per_sec is not None: + self.mirrored_writes_per_sec = mirrored_writes_per_sec + if qos_rate_limit_usec_per_mirrored_write_op is not None: + self.qos_rate_limit_usec_per_mirrored_write_op = qos_rate_limit_usec_per_mirrored_write_op + if qos_rate_limit_usec_per_read_op is not None: + self.qos_rate_limit_usec_per_read_op = qos_rate_limit_usec_per_read_op + if qos_rate_limit_usec_per_write_op is not None: + self.qos_rate_limit_usec_per_write_op = qos_rate_limit_usec_per_write_op + if queue_usec_per_mirrored_write_op is not None: + self.queue_usec_per_mirrored_write_op = queue_usec_per_mirrored_write_op + if queue_usec_per_read_op is not None: + self.queue_usec_per_read_op = queue_usec_per_read_op + if queue_usec_per_write_op is not None: + self.queue_usec_per_write_op = queue_usec_per_write_op + if read_bytes_per_sec is not None: + self.read_bytes_per_sec = read_bytes_per_sec + if reads_per_sec is not None: + self.reads_per_sec = reads_per_sec + if san_usec_per_mirrored_write_op is not None: + self.san_usec_per_mirrored_write_op = san_usec_per_mirrored_write_op + if san_usec_per_read_op is not None: + self.san_usec_per_read_op = san_usec_per_read_op + if san_usec_per_write_op is not None: + self.san_usec_per_write_op = san_usec_per_write_op + if service_usec_per_mirrored_write_op is not None: + self.service_usec_per_mirrored_write_op = service_usec_per_mirrored_write_op + if service_usec_per_read_op is not None: + self.service_usec_per_read_op = service_usec_per_read_op + if service_usec_per_write_op is not None: + self.service_usec_per_write_op = service_usec_per_write_op + if time is not None: + self.time = time + if usec_per_mirrored_write_op is not None: + self.usec_per_mirrored_write_op = usec_per_mirrored_write_op + if usec_per_read_op is not None: + self.usec_per_read_op = usec_per_read_op + if usec_per_write_op is not None: + self.usec_per_write_op = usec_per_write_op + if write_bytes_per_sec is not None: + self.write_bytes_per_sec = write_bytes_per_sec + if writes_per_sec is not None: + self.writes_per_sec = writes_per_sec + if service_usec_per_read_op_cache_reduction is not None: + self.service_usec_per_read_op_cache_reduction = service_usec_per_read_op_cache_reduction + if id is not None: + self.id = id + if name is not None: + self.name = name + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `HostPerformance`".format(key)) + if key == "bytes_per_mirrored_write" and value is not None: + if value < 0: + raise ValueError("Invalid value for `bytes_per_mirrored_write`, must be a value greater than or equal to `0`") + if key == "bytes_per_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `bytes_per_op`, must be a value greater than or equal to `0`") + if key == "bytes_per_read" and value is not None: + if value < 0: + raise ValueError("Invalid value for `bytes_per_read`, must be a value greater than or equal to `0`") + if key == "bytes_per_write" and value is not None: + if value < 0: + raise ValueError("Invalid value for `bytes_per_write`, must be a value greater than or equal to `0`") + if key == "mirrored_write_bytes_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `mirrored_write_bytes_per_sec`, must be a value greater than or equal to `0`") + if key == "mirrored_writes_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `mirrored_writes_per_sec`, must be a value greater than or equal to `0`") + if key == "qos_rate_limit_usec_per_mirrored_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `qos_rate_limit_usec_per_mirrored_write_op`, must be a value greater than or equal to `0`") + if key == "qos_rate_limit_usec_per_read_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `qos_rate_limit_usec_per_read_op`, must be a value greater than or equal to `0`") + if key == "qos_rate_limit_usec_per_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `qos_rate_limit_usec_per_write_op`, must be a value greater than or equal to `0`") + if key == "queue_usec_per_mirrored_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `queue_usec_per_mirrored_write_op`, must be a value greater than or equal to `0`") + if key == "queue_usec_per_read_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `queue_usec_per_read_op`, must be a value greater than or equal to `0`") + if key == "queue_usec_per_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `queue_usec_per_write_op`, must be a value greater than or equal to `0`") + if key == "read_bytes_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `read_bytes_per_sec`, must be a value greater than or equal to `0`") + if key == "reads_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `reads_per_sec`, must be a value greater than or equal to `0`") + if key == "san_usec_per_mirrored_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `san_usec_per_mirrored_write_op`, must be a value greater than or equal to `0`") + if key == "san_usec_per_read_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `san_usec_per_read_op`, must be a value greater than or equal to `0`") + if key == "san_usec_per_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `san_usec_per_write_op`, must be a value greater than or equal to `0`") + if key == "service_usec_per_mirrored_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `service_usec_per_mirrored_write_op`, must be a value greater than or equal to `0`") + if key == "service_usec_per_read_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `service_usec_per_read_op`, must be a value greater than or equal to `0`") + if key == "service_usec_per_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `service_usec_per_write_op`, must be a value greater than or equal to `0`") + if key == "usec_per_mirrored_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `usec_per_mirrored_write_op`, must be a value greater than or equal to `0`") + if key == "usec_per_read_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `usec_per_read_op`, must be a value greater than or equal to `0`") + if key == "usec_per_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `usec_per_write_op`, must be a value greater than or equal to `0`") + if key == "write_bytes_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `write_bytes_per_sec`, must be a value greater than or equal to `0`") + if key == "writes_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `writes_per_sec`, must be a value greater than or equal to `0`") + if key == "service_usec_per_read_op_cache_reduction" and value is not None: + if value > 1.0: + raise ValueError("Invalid value for `service_usec_per_read_op_cache_reduction`, value must be less than or equal to `1.0`") + if value < 0.0: + raise ValueError("Invalid value for `service_usec_per_read_op_cache_reduction`, must be a value greater than or equal to `0.0`") + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `HostPerformance`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `HostPerformance`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `HostPerformance`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(HostPerformance, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, HostPerformance): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/host_performance_balance.py b/pypureclient/flasharray/FA_2_26/models/host_performance_balance.py new file mode 100644 index 000000000..fdf367805 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/host_performance_balance.py @@ -0,0 +1,159 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class HostPerformanceBalance(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'name': 'str', + 'fraction_relative_to_max': 'float', + 'initiator': 'PortCommon', + 'op_count': 'int', + 'target': 'Port', + 'time': 'int' + } + + attribute_map = { + 'name': 'name', + 'fraction_relative_to_max': 'fraction_relative_to_max', + 'initiator': 'initiator', + 'op_count': 'op_count', + 'target': 'target', + 'time': 'time' + } + + required_args = { + } + + def __init__( + self, + name=None, # type: str + fraction_relative_to_max=None, # type: float + initiator=None, # type: models.PortCommon + op_count=None, # type: int + target=None, # type: models.Port + time=None, # type: int + ): + """ + Keyword args: + name (str): A user-specified name. The name must be locally unique and can be changed. + fraction_relative_to_max (float): The path with the highest number of op counts is displayed with a fraction_relative_to_max of 1.0. The fraction values of all other paths in the host are then calculated relative to the path with the highest number of op counts. + initiator (PortCommon) + op_count (int): Count of I/O operations for the host path, over the specified resolution. + target (Port) + time (int): Sample time in milliseconds since UNIX epoch. + """ + if name is not None: + self.name = name + if fraction_relative_to_max is not None: + self.fraction_relative_to_max = fraction_relative_to_max + if initiator is not None: + self.initiator = initiator + if op_count is not None: + self.op_count = op_count + if target is not None: + self.target = target + if time is not None: + self.time = time + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `HostPerformanceBalance`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `HostPerformanceBalance`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `HostPerformanceBalance`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `HostPerformanceBalance`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(HostPerformanceBalance, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, HostPerformanceBalance): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/host_performance_balance_get_response.py b/pypureclient/flasharray/FA_2_26/models/host_performance_balance_get_response.py new file mode 100644 index 000000000..207897eab --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/host_performance_balance_get_response.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class HostPerformanceBalanceGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[HostPerformanceBalance]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.HostPerformanceBalance] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[HostPerformanceBalance]): A list of entries indicating count and percentage of I/O operations across various data paths between the host and the array. + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `HostPerformanceBalanceGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `HostPerformanceBalanceGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `HostPerformanceBalanceGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `HostPerformanceBalanceGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(HostPerformanceBalanceGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, HostPerformanceBalanceGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/host_performance_by_array.py b/pypureclient/flasharray/FA_2_26/models/host_performance_by_array.py new file mode 100644 index 000000000..9f3b76bbe --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/host_performance_by_array.py @@ -0,0 +1,383 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class HostPerformanceByArray(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'bytes_per_mirrored_write': 'int', + 'bytes_per_op': 'int', + 'bytes_per_read': 'int', + 'bytes_per_write': 'int', + 'mirrored_write_bytes_per_sec': 'int', + 'mirrored_writes_per_sec': 'int', + 'qos_rate_limit_usec_per_mirrored_write_op': 'int', + 'qos_rate_limit_usec_per_read_op': 'int', + 'qos_rate_limit_usec_per_write_op': 'int', + 'queue_usec_per_mirrored_write_op': 'int', + 'queue_usec_per_read_op': 'int', + 'queue_usec_per_write_op': 'int', + 'read_bytes_per_sec': 'int', + 'reads_per_sec': 'int', + 'san_usec_per_mirrored_write_op': 'int', + 'san_usec_per_read_op': 'int', + 'san_usec_per_write_op': 'int', + 'service_usec_per_mirrored_write_op': 'int', + 'service_usec_per_read_op': 'int', + 'service_usec_per_write_op': 'int', + 'time': 'int', + 'usec_per_mirrored_write_op': 'int', + 'usec_per_read_op': 'int', + 'usec_per_write_op': 'int', + 'write_bytes_per_sec': 'int', + 'writes_per_sec': 'int', + 'service_usec_per_read_op_cache_reduction': 'float', + 'id': 'str', + 'name': 'str', + 'array': 'Resource' + } + + attribute_map = { + 'bytes_per_mirrored_write': 'bytes_per_mirrored_write', + 'bytes_per_op': 'bytes_per_op', + 'bytes_per_read': 'bytes_per_read', + 'bytes_per_write': 'bytes_per_write', + 'mirrored_write_bytes_per_sec': 'mirrored_write_bytes_per_sec', + 'mirrored_writes_per_sec': 'mirrored_writes_per_sec', + 'qos_rate_limit_usec_per_mirrored_write_op': 'qos_rate_limit_usec_per_mirrored_write_op', + 'qos_rate_limit_usec_per_read_op': 'qos_rate_limit_usec_per_read_op', + 'qos_rate_limit_usec_per_write_op': 'qos_rate_limit_usec_per_write_op', + 'queue_usec_per_mirrored_write_op': 'queue_usec_per_mirrored_write_op', + 'queue_usec_per_read_op': 'queue_usec_per_read_op', + 'queue_usec_per_write_op': 'queue_usec_per_write_op', + 'read_bytes_per_sec': 'read_bytes_per_sec', + 'reads_per_sec': 'reads_per_sec', + 'san_usec_per_mirrored_write_op': 'san_usec_per_mirrored_write_op', + 'san_usec_per_read_op': 'san_usec_per_read_op', + 'san_usec_per_write_op': 'san_usec_per_write_op', + 'service_usec_per_mirrored_write_op': 'service_usec_per_mirrored_write_op', + 'service_usec_per_read_op': 'service_usec_per_read_op', + 'service_usec_per_write_op': 'service_usec_per_write_op', + 'time': 'time', + 'usec_per_mirrored_write_op': 'usec_per_mirrored_write_op', + 'usec_per_read_op': 'usec_per_read_op', + 'usec_per_write_op': 'usec_per_write_op', + 'write_bytes_per_sec': 'write_bytes_per_sec', + 'writes_per_sec': 'writes_per_sec', + 'service_usec_per_read_op_cache_reduction': 'service_usec_per_read_op_cache_reduction', + 'id': 'id', + 'name': 'name', + 'array': 'array' + } + + required_args = { + } + + def __init__( + self, + bytes_per_mirrored_write=None, # type: int + bytes_per_op=None, # type: int + bytes_per_read=None, # type: int + bytes_per_write=None, # type: int + mirrored_write_bytes_per_sec=None, # type: int + mirrored_writes_per_sec=None, # type: int + qos_rate_limit_usec_per_mirrored_write_op=None, # type: int + qos_rate_limit_usec_per_read_op=None, # type: int + qos_rate_limit_usec_per_write_op=None, # type: int + queue_usec_per_mirrored_write_op=None, # type: int + queue_usec_per_read_op=None, # type: int + queue_usec_per_write_op=None, # type: int + read_bytes_per_sec=None, # type: int + reads_per_sec=None, # type: int + san_usec_per_mirrored_write_op=None, # type: int + san_usec_per_read_op=None, # type: int + san_usec_per_write_op=None, # type: int + service_usec_per_mirrored_write_op=None, # type: int + service_usec_per_read_op=None, # type: int + service_usec_per_write_op=None, # type: int + time=None, # type: int + usec_per_mirrored_write_op=None, # type: int + usec_per_read_op=None, # type: int + usec_per_write_op=None, # type: int + write_bytes_per_sec=None, # type: int + writes_per_sec=None, # type: int + service_usec_per_read_op_cache_reduction=None, # type: float + id=None, # type: str + name=None, # type: str + array=None, # type: models.Resource + ): + """ + Keyword args: + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. + bytes_per_op (int): The average I/O size for both read and write (all) operations. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. + mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. + mirrored_writes_per_sec (int): The number of mirrored writes per second. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. + read_bytes_per_sec (int): The number of bytes read per second. + reads_per_sec (int): The number of read requests processed per second. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + write_bytes_per_sec (int): The number of bytes written per second. + writes_per_sec (int): The number of write requests processed per second. + service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. + id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. + name (str): A user-specified name. The name must be locally unique and can be changed. + array (Resource): The array on which the performance metrics were recorded. + """ + if bytes_per_mirrored_write is not None: + self.bytes_per_mirrored_write = bytes_per_mirrored_write + if bytes_per_op is not None: + self.bytes_per_op = bytes_per_op + if bytes_per_read is not None: + self.bytes_per_read = bytes_per_read + if bytes_per_write is not None: + self.bytes_per_write = bytes_per_write + if mirrored_write_bytes_per_sec is not None: + self.mirrored_write_bytes_per_sec = mirrored_write_bytes_per_sec + if mirrored_writes_per_sec is not None: + self.mirrored_writes_per_sec = mirrored_writes_per_sec + if qos_rate_limit_usec_per_mirrored_write_op is not None: + self.qos_rate_limit_usec_per_mirrored_write_op = qos_rate_limit_usec_per_mirrored_write_op + if qos_rate_limit_usec_per_read_op is not None: + self.qos_rate_limit_usec_per_read_op = qos_rate_limit_usec_per_read_op + if qos_rate_limit_usec_per_write_op is not None: + self.qos_rate_limit_usec_per_write_op = qos_rate_limit_usec_per_write_op + if queue_usec_per_mirrored_write_op is not None: + self.queue_usec_per_mirrored_write_op = queue_usec_per_mirrored_write_op + if queue_usec_per_read_op is not None: + self.queue_usec_per_read_op = queue_usec_per_read_op + if queue_usec_per_write_op is not None: + self.queue_usec_per_write_op = queue_usec_per_write_op + if read_bytes_per_sec is not None: + self.read_bytes_per_sec = read_bytes_per_sec + if reads_per_sec is not None: + self.reads_per_sec = reads_per_sec + if san_usec_per_mirrored_write_op is not None: + self.san_usec_per_mirrored_write_op = san_usec_per_mirrored_write_op + if san_usec_per_read_op is not None: + self.san_usec_per_read_op = san_usec_per_read_op + if san_usec_per_write_op is not None: + self.san_usec_per_write_op = san_usec_per_write_op + if service_usec_per_mirrored_write_op is not None: + self.service_usec_per_mirrored_write_op = service_usec_per_mirrored_write_op + if service_usec_per_read_op is not None: + self.service_usec_per_read_op = service_usec_per_read_op + if service_usec_per_write_op is not None: + self.service_usec_per_write_op = service_usec_per_write_op + if time is not None: + self.time = time + if usec_per_mirrored_write_op is not None: + self.usec_per_mirrored_write_op = usec_per_mirrored_write_op + if usec_per_read_op is not None: + self.usec_per_read_op = usec_per_read_op + if usec_per_write_op is not None: + self.usec_per_write_op = usec_per_write_op + if write_bytes_per_sec is not None: + self.write_bytes_per_sec = write_bytes_per_sec + if writes_per_sec is not None: + self.writes_per_sec = writes_per_sec + if service_usec_per_read_op_cache_reduction is not None: + self.service_usec_per_read_op_cache_reduction = service_usec_per_read_op_cache_reduction + if id is not None: + self.id = id + if name is not None: + self.name = name + if array is not None: + self.array = array + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `HostPerformanceByArray`".format(key)) + if key == "bytes_per_mirrored_write" and value is not None: + if value < 0: + raise ValueError("Invalid value for `bytes_per_mirrored_write`, must be a value greater than or equal to `0`") + if key == "bytes_per_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `bytes_per_op`, must be a value greater than or equal to `0`") + if key == "bytes_per_read" and value is not None: + if value < 0: + raise ValueError("Invalid value for `bytes_per_read`, must be a value greater than or equal to `0`") + if key == "bytes_per_write" and value is not None: + if value < 0: + raise ValueError("Invalid value for `bytes_per_write`, must be a value greater than or equal to `0`") + if key == "mirrored_write_bytes_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `mirrored_write_bytes_per_sec`, must be a value greater than or equal to `0`") + if key == "mirrored_writes_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `mirrored_writes_per_sec`, must be a value greater than or equal to `0`") + if key == "qos_rate_limit_usec_per_mirrored_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `qos_rate_limit_usec_per_mirrored_write_op`, must be a value greater than or equal to `0`") + if key == "qos_rate_limit_usec_per_read_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `qos_rate_limit_usec_per_read_op`, must be a value greater than or equal to `0`") + if key == "qos_rate_limit_usec_per_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `qos_rate_limit_usec_per_write_op`, must be a value greater than or equal to `0`") + if key == "queue_usec_per_mirrored_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `queue_usec_per_mirrored_write_op`, must be a value greater than or equal to `0`") + if key == "queue_usec_per_read_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `queue_usec_per_read_op`, must be a value greater than or equal to `0`") + if key == "queue_usec_per_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `queue_usec_per_write_op`, must be a value greater than or equal to `0`") + if key == "read_bytes_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `read_bytes_per_sec`, must be a value greater than or equal to `0`") + if key == "reads_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `reads_per_sec`, must be a value greater than or equal to `0`") + if key == "san_usec_per_mirrored_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `san_usec_per_mirrored_write_op`, must be a value greater than or equal to `0`") + if key == "san_usec_per_read_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `san_usec_per_read_op`, must be a value greater than or equal to `0`") + if key == "san_usec_per_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `san_usec_per_write_op`, must be a value greater than or equal to `0`") + if key == "service_usec_per_mirrored_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `service_usec_per_mirrored_write_op`, must be a value greater than or equal to `0`") + if key == "service_usec_per_read_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `service_usec_per_read_op`, must be a value greater than or equal to `0`") + if key == "service_usec_per_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `service_usec_per_write_op`, must be a value greater than or equal to `0`") + if key == "usec_per_mirrored_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `usec_per_mirrored_write_op`, must be a value greater than or equal to `0`") + if key == "usec_per_read_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `usec_per_read_op`, must be a value greater than or equal to `0`") + if key == "usec_per_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `usec_per_write_op`, must be a value greater than or equal to `0`") + if key == "write_bytes_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `write_bytes_per_sec`, must be a value greater than or equal to `0`") + if key == "writes_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `writes_per_sec`, must be a value greater than or equal to `0`") + if key == "service_usec_per_read_op_cache_reduction" and value is not None: + if value > 1.0: + raise ValueError("Invalid value for `service_usec_per_read_op_cache_reduction`, value must be less than or equal to `1.0`") + if value < 0.0: + raise ValueError("Invalid value for `service_usec_per_read_op_cache_reduction`, must be a value greater than or equal to `0.0`") + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `HostPerformanceByArray`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `HostPerformanceByArray`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `HostPerformanceByArray`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(HostPerformanceByArray, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, HostPerformanceByArray): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/host_port_connectivity.py b/pypureclient/flasharray/FA_2_26/models/host_port_connectivity.py new file mode 100644 index 000000000..b898505c6 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/host_port_connectivity.py @@ -0,0 +1,135 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class HostPortConnectivity(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'details': 'str', + 'status': 'str' + } + + attribute_map = { + 'details': 'details', + 'status': 'status' + } + + required_args = { + } + + def __init__( + self, + details=None, # type: str + status=None, # type: str + ): + """ + Keyword args: + details (str): The host connection status. Values include `Redundant`, `N/A`, `Redundant-Failover`, `Uneven`, `Unused Port`, `Single Controller`, `Single Controller-Failover`, and `None`. + status (str): The host connection health status. Values include `healthy`, `unhealthy`, and `critical`. + """ + if details is not None: + self.details = details + if status is not None: + self.status = status + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `HostPortConnectivity`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `HostPortConnectivity`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `HostPortConnectivity`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `HostPortConnectivity`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(HostPortConnectivity, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, HostPortConnectivity): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/host_post.py b/pypureclient/flasharray/FA_2_26/models/host_post.py new file mode 100644 index 000000000..41d131a9c --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/host_post.py @@ -0,0 +1,165 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class HostPost(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'chap': 'Chap', + 'iqns': 'list[str]', + 'nqns': 'list[str]', + 'personality': 'str', + 'preferred_arrays': 'list[Reference]', + 'wwns': 'list[str]', + 'vlan': 'str' + } + + attribute_map = { + 'chap': 'chap', + 'iqns': 'iqns', + 'nqns': 'nqns', + 'personality': 'personality', + 'preferred_arrays': 'preferred_arrays', + 'wwns': 'wwns', + 'vlan': 'vlan' + } + + required_args = { + } + + def __init__( + self, + chap=None, # type: models.Chap + iqns=None, # type: List[str] + nqns=None, # type: List[str] + personality=None, # type: str + preferred_arrays=None, # type: List[models.Reference] + wwns=None, # type: List[str] + vlan=None, # type: str + ): + """ + Keyword args: + chap (Chap) + iqns (list[str]): The iSCSI qualified name (IQN) associated with the host. + nqns (list[str]): The NVMe Qualified Name (NQN) associated with the host. + personality (str): Determines how the system tunes the array to ensure that it works optimally with the host. Set `personality` to the name of the host operating system or virtual memory system. Valid values are `aix`, `esxi`, `hitachi-vsp`, `hpux`, `oracle-vm-server`, `solaris`, and `vms`. If your system is not listed as one of the valid host personalities, do not set the option. By default, the personality is not set. + preferred_arrays (list[Reference]): For synchronous replication configurations, sets a host's preferred array to specify which array exposes active/optimized paths to that host. Enter multiple preferred arrays in comma-separated format. If a preferred array is set for a host, then the other arrays in the same pod will expose active/non-optimized paths to that host. If the host is in a host group, `preferred_arrays` cannot be set because host groups have their own preferred arrays. On a preferred array of a certain host, all the paths on all the ports (for both the primary and secondary controllers) are set up as A/O (active/optimized) paths, while on a non-preferred array, all the paths are A/N (Active/Non-optimized) paths. + wwns (list[str]): The Fibre Channel World Wide Name (WWN) associated with the host. + vlan (str): The VLAN ID that the host is associated with. If not set or set to `any`, the host can access any VLAN. If set to `untagged`, the host can only access untagged VLANs. If set to a number between `1` and `4094`, the host can only access the specified VLAN with that number. + """ + if chap is not None: + self.chap = chap + if iqns is not None: + self.iqns = iqns + if nqns is not None: + self.nqns = nqns + if personality is not None: + self.personality = personality + if preferred_arrays is not None: + self.preferred_arrays = preferred_arrays + if wwns is not None: + self.wwns = wwns + if vlan is not None: + self.vlan = vlan + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `HostPost`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `HostPost`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `HostPost`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `HostPost`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(HostPost, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, HostPost): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/host_response.py b/pypureclient/flasharray/FA_2_26/models/host_response.py new file mode 100644 index 000000000..9759cbd8a --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/host_response.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class HostResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'items': 'list[Host]' + } + + attribute_map = { + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + items=None, # type: List[models.Host] + ): + """ + Keyword args: + items (list[Host]): Returns a list of all items after filtering. If applicable, the values are displayed for each name. + """ + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `HostResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `HostResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `HostResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `HostResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(HostResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, HostResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/host_space.py b/pypureclient/flasharray/FA_2_26/models/host_space.py new file mode 100644 index 000000000..c5f6da033 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/host_space.py @@ -0,0 +1,141 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class HostSpace(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'name': 'str', + 'space': 'Space', + 'time': 'int' + } + + attribute_map = { + 'name': 'name', + 'space': 'space', + 'time': 'time' + } + + required_args = { + } + + def __init__( + self, + name=None, # type: str + space=None, # type: models.Space + time=None, # type: int + ): + """ + Keyword args: + name (str): A locally unique, system-generated name. The name cannot be modified. + space (Space): Displays size and space consumption information. + time (int) + """ + if name is not None: + self.name = name + if space is not None: + self.space = space + if time is not None: + self.time = time + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `HostSpace`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `HostSpace`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `HostSpace`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `HostSpace`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(HostSpace, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, HostSpace): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/inline_response400.py b/pypureclient/flasharray/FA_2_26/models/inline_response400.py new file mode 100644 index 000000000..5995a4a3f --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/inline_response400.py @@ -0,0 +1,135 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class InlineResponse400(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'error': 'str', + 'error_description': 'str' + } + + attribute_map = { + 'error': 'error', + 'error_description': 'error_description' + } + + required_args = { + } + + def __init__( + self, + error=None, # type: str + error_description=None, # type: str + ): + """ + Keyword args: + error (str) + error_description (str) + """ + if error is not None: + self.error = error + if error_description is not None: + self.error_description = error_description + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `InlineResponse400`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `InlineResponse400`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `InlineResponse400`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `InlineResponse400`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(InlineResponse400, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, InlineResponse400): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/inline_response401.py b/pypureclient/flasharray/FA_2_26/models/inline_response401.py new file mode 100644 index 000000000..11e894db3 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/inline_response401.py @@ -0,0 +1,135 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class InlineResponse401(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'error': 'str', + 'error_description': 'str' + } + + attribute_map = { + 'error': 'error', + 'error_description': 'error_description' + } + + required_args = { + } + + def __init__( + self, + error=None, # type: str + error_description=None, # type: str + ): + """ + Keyword args: + error (str) + error_description (str) + """ + if error is not None: + self.error = error + if error_description is not None: + self.error_description = error_description + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `InlineResponse401`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `InlineResponse401`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `InlineResponse401`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `InlineResponse401`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(InlineResponse401, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, InlineResponse401): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/kmip.py b/pypureclient/flasharray/FA_2_26/models/kmip.py new file mode 100644 index 000000000..23924915a --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/kmip.py @@ -0,0 +1,156 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class Kmip(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'ca_certificate': 'str', + 'certificate': 'KmipCertificate', + 'kmip_objects': 'list[KmipObject]', + 'name': 'str', + 'uris': 'list[str]' + } + + attribute_map = { + 'ca_certificate': 'ca_certificate', + 'certificate': 'certificate', + 'kmip_objects': 'kmip_objects', + 'name': 'name', + 'uris': 'uris' + } + + required_args = { + } + + def __init__( + self, + ca_certificate=None, # type: str + certificate=None, # type: models.KmipCertificate + kmip_objects=None, # type: List[models.KmipObject] + name=None, # type: str + uris=None, # type: List[str] + ): + """ + Keyword args: + ca_certificate (str): CA certificate text for the KMIP server. + certificate (KmipCertificate): The certificate used to verify FlashArray authenticity to the KMIP servers. + kmip_objects (list[KmipObject]): List of the name and UID of the KMIP objects. + name (str): A locally unique, system-generated name. The name cannot be modified. + uris (list[str]): List of URIs for the configured KMIP servers. + """ + if ca_certificate is not None: + self.ca_certificate = ca_certificate + if certificate is not None: + self.certificate = certificate + if kmip_objects is not None: + self.kmip_objects = kmip_objects + if name is not None: + self.name = name + if uris is not None: + self.uris = uris + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Kmip`".format(key)) + if key == "ca_certificate" and value is not None: + if len(value) > 3000: + raise ValueError("Invalid value for `ca_certificate`, length must be less than or equal to `3000`") + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Kmip`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Kmip`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Kmip`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(Kmip, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, Kmip): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/kmip_certificate.py b/pypureclient/flasharray/FA_2_26/models/kmip_certificate.py new file mode 100644 index 000000000..f64317c97 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/kmip_certificate.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class KmipCertificate(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'name': 'str' + } + + attribute_map = { + 'name': 'name' + } + + required_args = { + } + + def __init__( + self, + name=None, # type: str + ): + """ + Keyword args: + name (str): The resource name, such as volume name, pod name, snapshot name, and so on. + """ + if name is not None: + self.name = name + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `KmipCertificate`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `KmipCertificate`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `KmipCertificate`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `KmipCertificate`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(KmipCertificate, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, KmipCertificate): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/kmip_get_response.py b/pypureclient/flasharray/FA_2_26/models/kmip_get_response.py new file mode 100644 index 000000000..93c5ae71c --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/kmip_get_response.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class KmipGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[Kmip]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.Kmip] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[Kmip]) + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `KmipGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `KmipGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `KmipGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `KmipGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(KmipGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, KmipGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/kmip_object.py b/pypureclient/flasharray/FA_2_26/models/kmip_object.py new file mode 100644 index 000000000..3e8f9d99a --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/kmip_object.py @@ -0,0 +1,135 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class KmipObject(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'name': 'str', + 'uid': 'str' + } + + attribute_map = { + 'name': 'name', + 'uid': 'uid' + } + + required_args = { + } + + def __init__( + self, + name=None, # type: str + uid=None, # type: str + ): + """ + Keyword args: + name (str): Name of the KMIP object. + uid (str): User ID of the KMIP object. + """ + if name is not None: + self.name = name + if uid is not None: + self.uid = uid + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `KmipObject`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `KmipObject`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `KmipObject`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `KmipObject`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(KmipObject, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, KmipObject): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/kmip_patch.py b/pypureclient/flasharray/FA_2_26/models/kmip_patch.py new file mode 100644 index 000000000..da9a4f02c --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/kmip_patch.py @@ -0,0 +1,144 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class KmipPatch(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'ca_certificate': 'str', + 'certificate': 'ReferenceNoId', + 'uris': 'list[str]' + } + + attribute_map = { + 'ca_certificate': 'ca_certificate', + 'certificate': 'certificate', + 'uris': 'uris' + } + + required_args = { + } + + def __init__( + self, + ca_certificate=None, # type: str + certificate=None, # type: models.ReferenceNoId + uris=None, # type: List[str] + ): + """ + Keyword args: + ca_certificate (str): The text of the CA certificate for the KMIP server. + certificate (ReferenceNoId): The certificate used to verify FlashArray authenticity to the KMIP servers. + uris (list[str]): List of URIs for the configured KMIP servers. + """ + if ca_certificate is not None: + self.ca_certificate = ca_certificate + if certificate is not None: + self.certificate = certificate + if uris is not None: + self.uris = uris + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `KmipPatch`".format(key)) + if key == "ca_certificate" and value is not None: + if len(value) > 3000: + raise ValueError("Invalid value for `ca_certificate`, length must be less than or equal to `3000`") + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `KmipPatch`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `KmipPatch`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `KmipPatch`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(KmipPatch, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, KmipPatch): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/kmip_post.py b/pypureclient/flasharray/FA_2_26/models/kmip_post.py new file mode 100644 index 000000000..c9ec6c665 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/kmip_post.py @@ -0,0 +1,144 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class KmipPost(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'ca_certificate': 'str', + 'certificate': 'ReferenceNoId', + 'uris': 'list[str]' + } + + attribute_map = { + 'ca_certificate': 'ca_certificate', + 'certificate': 'certificate', + 'uris': 'uris' + } + + required_args = { + } + + def __init__( + self, + ca_certificate=None, # type: str + certificate=None, # type: models.ReferenceNoId + uris=None, # type: List[str] + ): + """ + Keyword args: + ca_certificate (str): The text of the CA certificate for the KMIP server. + certificate (ReferenceNoId): The certificate used to verify FlashArray authenticity to the KMIP servers. + uris (list[str]): List of URIs for the configured KMIP servers. + """ + if ca_certificate is not None: + self.ca_certificate = ca_certificate + if certificate is not None: + self.certificate = certificate + if uris is not None: + self.uris = uris + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `KmipPost`".format(key)) + if key == "ca_certificate" and value is not None: + if len(value) > 3000: + raise ValueError("Invalid value for `ca_certificate`, length must be less than or equal to `3000`") + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `KmipPost`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `KmipPost`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `KmipPost`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(KmipPost, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, KmipPost): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/kmip_response.py b/pypureclient/flasharray/FA_2_26/models/kmip_response.py new file mode 100644 index 000000000..3e732d7c7 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/kmip_response.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class KmipResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'items': 'list[Kmip]' + } + + attribute_map = { + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + items=None, # type: List[models.Kmip] + ): + """ + Keyword args: + items (list[Kmip]) + """ + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `KmipResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `KmipResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `KmipResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `KmipResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(KmipResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, KmipResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/kmip_test_result.py b/pypureclient/flasharray/FA_2_26/models/kmip_test_result.py new file mode 100644 index 000000000..58088328b --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/kmip_test_result.py @@ -0,0 +1,171 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class KmipTestResult(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'component_address': 'str', + 'component_name': 'str', + 'description': 'str', + 'destination': 'str', + 'enabled': 'bool', + 'result_details': 'str', + 'success': 'bool', + 'test_type': 'str' + } + + attribute_map = { + 'component_address': 'component_address', + 'component_name': 'component_name', + 'description': 'description', + 'destination': 'destination', + 'enabled': 'enabled', + 'result_details': 'result_details', + 'success': 'success', + 'test_type': 'test_type' + } + + required_args = { + } + + def __init__( + self, + component_address=None, # type: str + component_name=None, # type: str + description=None, # type: str + destination=None, # type: str + enabled=None, # type: bool + result_details=None, # type: str + success=None, # type: bool + test_type=None, # type: str + ): + """ + Keyword args: + component_address (str): Address of the component running the test. + component_name (str): Name of the component running the test. + description (str): Description of what is being tested. + destination (str): The URI of the target server being tested. + enabled (bool): Expresses whether the service is enabled or not. + result_details (str): Additional information about the test result. + success (bool): Expresses whether communication between the FlashArray and the KMIP server succeeded or not. + test_type (str): Description of what is being tested. + """ + if component_address is not None: + self.component_address = component_address + if component_name is not None: + self.component_name = component_name + if description is not None: + self.description = description + if destination is not None: + self.destination = destination + if enabled is not None: + self.enabled = enabled + if result_details is not None: + self.result_details = result_details + if success is not None: + self.success = success + if test_type is not None: + self.test_type = test_type + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `KmipTestResult`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `KmipTestResult`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `KmipTestResult`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `KmipTestResult`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(KmipTestResult, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, KmipTestResult): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/kmip_test_result_get_response.py b/pypureclient/flasharray/FA_2_26/models/kmip_test_result_get_response.py new file mode 100644 index 000000000..8cda0ee96 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/kmip_test_result_get_response.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class KmipTestResultGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[KmipTestResult]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.KmipTestResult] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[KmipTestResult]) + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `KmipTestResultGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `KmipTestResultGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `KmipTestResultGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `KmipTestResultGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(KmipTestResultGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, KmipTestResultGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/limited_by.py b/pypureclient/flasharray/FA_2_26/models/limited_by.py new file mode 100644 index 000000000..25e4be907 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/limited_by.py @@ -0,0 +1,135 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class LimitedBy(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'member': 'FixedReferenceWithType', + 'policy': 'FixedReferenceWithType' + } + + attribute_map = { + 'member': 'member', + 'policy': 'policy' + } + + required_args = { + } + + def __init__( + self, + member=None, # type: models.FixedReferenceWithType + policy=None, # type: models.FixedReferenceWithType + ): + """ + Keyword args: + member (FixedReferenceWithType): Reference to the resource to which the effective quota policy is attached. + policy (FixedReferenceWithType): Reference to the effective quota policy. + """ + if member is not None: + self.member = member + if policy is not None: + self.policy = policy + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `LimitedBy`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `LimitedBy`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `LimitedBy`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `LimitedBy`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(LimitedBy, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, LimitedBy): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/local_group.py b/pypureclient/flasharray/FA_2_26/models/local_group.py new file mode 100644 index 000000000..83b87c61d --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/local_group.py @@ -0,0 +1,153 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class LocalGroup(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'built_in': 'bool', + 'email': 'str', + 'gid': 'int', + 'name': 'str', + 'sid': 'str' + } + + attribute_map = { + 'built_in': 'built_in', + 'email': 'email', + 'gid': 'gid', + 'name': 'name', + 'sid': 'sid' + } + + required_args = { + } + + def __init__( + self, + built_in=None, # type: bool + email=None, # type: str + gid=None, # type: int + name=None, # type: str + sid=None, # type: str + ): + """ + Keyword args: + built_in (bool): Returns a value of `true` if the local group is built in. Returns a value of `false` if the group has been created manually. + email (str): The email address of the local group. + gid (int): The POSIX user ID of this object (group ID). + name (str): The local group name. + sid (str): The SID (security ID) of the local group. + """ + if built_in is not None: + self.built_in = built_in + if email is not None: + self.email = email + if gid is not None: + self.gid = gid + if name is not None: + self.name = name + if sid is not None: + self.sid = sid + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `LocalGroup`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `LocalGroup`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `LocalGroup`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `LocalGroup`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(LocalGroup, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, LocalGroup): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/local_group_get_response.py b/pypureclient/flasharray/FA_2_26/models/local_group_get_response.py new file mode 100644 index 000000000..97aa384b7 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/local_group_get_response.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class LocalGroupGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[LocalGroup]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.LocalGroup] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[LocalGroup]): Displays a list of all items after filtering. The values are displayed for each name, if meaningful. + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `LocalGroupGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `LocalGroupGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `LocalGroupGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `LocalGroupGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(LocalGroupGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, LocalGroupGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/local_group_membership_post.py b/pypureclient/flasharray/FA_2_26/models/local_group_membership_post.py new file mode 100644 index 000000000..c86732970 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/local_group_membership_post.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class LocalGroupMembershipPost(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'members': 'list[LocalgroupmembershippostMembers]' + } + + attribute_map = { + 'members': 'members' + } + + required_args = { + } + + def __init__( + self, + members=None, # type: List[models.LocalgroupmembershippostMembers] + ): + """ + Keyword args: + members (list[LocalgroupmembershippostMembers]): A list of resources to be a member of the group. + """ + if members is not None: + self.members = members + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `LocalGroupMembershipPost`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `LocalGroupMembershipPost`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `LocalGroupMembershipPost`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `LocalGroupMembershipPost`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(LocalGroupMembershipPost, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, LocalGroupMembershipPost): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/local_group_post.py b/pypureclient/flasharray/FA_2_26/models/local_group_post.py new file mode 100644 index 000000000..4e6181793 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/local_group_post.py @@ -0,0 +1,135 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class LocalGroupPost(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'email': 'str', + 'gid': 'int' + } + + attribute_map = { + 'email': 'email', + 'gid': 'gid' + } + + required_args = { + } + + def __init__( + self, + email=None, # type: str + gid=None, # type: int + ): + """ + Keyword args: + email (str): Optional field to set the email address of the local group. + gid (int): Optional field to set the GID of the local group. + """ + if email is not None: + self.email = email + if gid is not None: + self.gid = gid + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `LocalGroupPost`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `LocalGroupPost`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `LocalGroupPost`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `LocalGroupPost`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(LocalGroupPost, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, LocalGroupPost): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/local_group_response.py b/pypureclient/flasharray/FA_2_26/models/local_group_response.py new file mode 100644 index 000000000..78506c1c4 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/local_group_response.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class LocalGroupResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'items': 'list[LocalGroup]' + } + + attribute_map = { + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + items=None, # type: List[models.LocalGroup] + ): + """ + Keyword args: + items (list[LocalGroup]): Displays a list of all items after filtering. The values are displayed for each name, if meaningful. + """ + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `LocalGroupResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `LocalGroupResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `LocalGroupResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `LocalGroupResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(LocalGroupResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, LocalGroupResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/local_member.py b/pypureclient/flasharray/FA_2_26/models/local_member.py new file mode 100644 index 000000000..915051e32 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/local_member.py @@ -0,0 +1,153 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class LocalMember(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'group': 'FixedReferenceWithType', + 'group_gid': 'int', + 'is_primary_group': 'bool', + 'member': 'FixedReferenceWithType', + 'member_id': 'int' + } + + attribute_map = { + 'group': 'group', + 'group_gid': 'group_gid', + 'is_primary_group': 'is_primary_group', + 'member': 'member', + 'member_id': 'member_id' + } + + required_args = { + } + + def __init__( + self, + group=None, # type: models.FixedReferenceWithType + group_gid=None, # type: int + is_primary_group=None, # type: bool + member=None, # type: models.FixedReferenceWithType + member_id=None, # type: int + ): + """ + Keyword args: + group (FixedReferenceWithType): Reference to the group to which the member belongs. + group_gid (int): GID of the group to which the member belongs. + is_primary_group (bool): When a membership of `member_type` has the value `User`, this specifies whether this membership is a primary-group mapping or not. In any other case, this field will be `false`. + member (FixedReferenceWithType): Reference to the member of the group. + member_id (int): GID if the `member_type` is `Group` and UID if the `member_type` is `User`. + """ + if group is not None: + self.group = group + if group_gid is not None: + self.group_gid = group_gid + if is_primary_group is not None: + self.is_primary_group = is_primary_group + if member is not None: + self.member = member + if member_id is not None: + self.member_id = member_id + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `LocalMember`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `LocalMember`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `LocalMember`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `LocalMember`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(LocalMember, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, LocalMember): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/local_membership_get_response.py b/pypureclient/flasharray/FA_2_26/models/local_membership_get_response.py new file mode 100644 index 000000000..1a64c80f0 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/local_membership_get_response.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class LocalMembershipGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[LocalMember]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.LocalMember] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[LocalMember]): Displays a list of all items after filtering. The values are displayed for each name, if meaningful. + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `LocalMembershipGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `LocalMembershipGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `LocalMembershipGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `LocalMembershipGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(LocalMembershipGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, LocalMembershipGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/local_membership_response.py b/pypureclient/flasharray/FA_2_26/models/local_membership_response.py new file mode 100644 index 000000000..6dcb07917 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/local_membership_response.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class LocalMembershipResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'items': 'list[LocalMember]' + } + + attribute_map = { + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + items=None, # type: List[models.LocalMember] + ): + """ + Keyword args: + items (list[LocalMember]): Displays a list of all items after filtering. The values are displayed for each name, if meaningful. + """ + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `LocalMembershipResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `LocalMembershipResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `LocalMembershipResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `LocalMembershipResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(LocalMembershipResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, LocalMembershipResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/local_user.py b/pypureclient/flasharray/FA_2_26/models/local_user.py new file mode 100644 index 000000000..5b03ef10b --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/local_user.py @@ -0,0 +1,165 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class LocalUser(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'built_in': 'bool', + 'email': 'str', + 'enabled': 'bool', + 'name': 'str', + 'primary_group': 'ReferenceWithType', + 'sid': 'str', + 'uid': 'int' + } + + attribute_map = { + 'built_in': 'built_in', + 'email': 'email', + 'enabled': 'enabled', + 'name': 'name', + 'primary_group': 'primary_group', + 'sid': 'sid', + 'uid': 'uid' + } + + required_args = { + } + + def __init__( + self, + built_in=None, # type: bool + email=None, # type: str + enabled=None, # type: bool + name=None, # type: str + primary_group=None, # type: models.ReferenceWithType + sid=None, # type: str + uid=None, # type: int + ): + """ + Keyword args: + built_in (bool): Returns a value of `true` if the local user is built in. Otherwise returns a value of `false` if the user has been created manually. + email (str): The email address of the local user. + enabled (bool): Returns a value of `true` if the local user is enabled. + name (str): The name of the local user. + primary_group (ReferenceWithType): Primary group of the local user. + sid (str): The SID (security ID) of the local user. + uid (int): The POSIX user ID of this object (user ID). + """ + if built_in is not None: + self.built_in = built_in + if email is not None: + self.email = email + if enabled is not None: + self.enabled = enabled + if name is not None: + self.name = name + if primary_group is not None: + self.primary_group = primary_group + if sid is not None: + self.sid = sid + if uid is not None: + self.uid = uid + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `LocalUser`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `LocalUser`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `LocalUser`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `LocalUser`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(LocalUser, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, LocalUser): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/local_user_get_response.py b/pypureclient/flasharray/FA_2_26/models/local_user_get_response.py new file mode 100644 index 000000000..984358e18 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/local_user_get_response.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class LocalUserGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[LocalUser]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.LocalUser] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[LocalUser]): Displays a list of all items after filtering. The values are displayed for each name, if meaningful. + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `LocalUserGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `LocalUserGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `LocalUserGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `LocalUserGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(LocalUserGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, LocalUserGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/local_user_membership_post.py b/pypureclient/flasharray/FA_2_26/models/local_user_membership_post.py new file mode 100644 index 000000000..72bb80f6c --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/local_user_membership_post.py @@ -0,0 +1,135 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class LocalUserMembershipPost(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'groups': 'list[LocalusermembershippostGroups]', + 'is_primary': 'bool' + } + + attribute_map = { + 'groups': 'groups', + 'is_primary': 'is_primary' + } + + required_args = { + } + + def __init__( + self, + groups=None, # type: List[models.LocalusermembershippostGroups] + is_primary=None, # type: bool + ): + """ + Keyword args: + groups (list[LocalusermembershippostGroups]): A list of groups of which the user is a member. + is_primary (bool): Determines whether memberships are primary group memberships or not. + """ + if groups is not None: + self.groups = groups + if is_primary is not None: + self.is_primary = is_primary + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `LocalUserMembershipPost`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `LocalUserMembershipPost`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `LocalUserMembershipPost`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `LocalUserMembershipPost`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(LocalUserMembershipPost, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, LocalUserMembershipPost): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/local_user_patch.py b/pypureclient/flasharray/FA_2_26/models/local_user_patch.py new file mode 100644 index 000000000..971b31d32 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/local_user_patch.py @@ -0,0 +1,159 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class LocalUserPatch(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'email': 'str', + 'enabled': 'bool', + 'name': 'str', + 'password': 'str', + 'primary_group': 'ReferenceWithType', + 'uid': 'int' + } + + attribute_map = { + 'email': 'email', + 'enabled': 'enabled', + 'name': 'name', + 'password': 'password', + 'primary_group': 'primary_group', + 'uid': 'uid' + } + + required_args = { + } + + def __init__( + self, + email=None, # type: str + enabled=None, # type: bool + name=None, # type: str + password=None, # type: str + primary_group=None, # type: models.ReferenceWithType + uid=None, # type: int + ): + """ + Keyword args: + email (str): Optional field to set the email of the local user. + enabled (bool): If this field is `false`, the local user will be disabled on creation. Otherwise, the local user will be enabled and functional from the beginning. + name (str): The local user name. + password (str): The password of the local user. This field is only required if the `enabled` field is true. + primary_group (ReferenceWithType): Local group that would be assigned as the primary group of the local user. + uid (int): Optional field to set the UID of the local user. + """ + if email is not None: + self.email = email + if enabled is not None: + self.enabled = enabled + if name is not None: + self.name = name + if password is not None: + self.password = password + if primary_group is not None: + self.primary_group = primary_group + if uid is not None: + self.uid = uid + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `LocalUserPatch`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `LocalUserPatch`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `LocalUserPatch`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `LocalUserPatch`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(LocalUserPatch, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, LocalUserPatch): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/local_user_post.py b/pypureclient/flasharray/FA_2_26/models/local_user_post.py new file mode 100644 index 000000000..5e46faaf1 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/local_user_post.py @@ -0,0 +1,153 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class LocalUserPost(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'email': 'str', + 'enabled': 'bool', + 'password': 'str', + 'primary_group': 'ReferenceWithType', + 'uid': 'int' + } + + attribute_map = { + 'email': 'email', + 'enabled': 'enabled', + 'password': 'password', + 'primary_group': 'primary_group', + 'uid': 'uid' + } + + required_args = { + } + + def __init__( + self, + email=None, # type: str + enabled=None, # type: bool + password=None, # type: str + primary_group=None, # type: models.ReferenceWithType + uid=None, # type: int + ): + """ + Keyword args: + email (str): Optional field to set the email of the local user. + enabled (bool): If this field is `false`, the local user will be disabled on creation. Otherwise, the local user will be enabled and functional. + password (str): The password of the local user. This field is only required if the `enabled` field is `true`. + primary_group (ReferenceWithType): Local group that would be assigned as the primary group of the local user. + uid (int): Optional field to set the UID of the local user. + """ + if email is not None: + self.email = email + if enabled is not None: + self.enabled = enabled + if password is not None: + self.password = password + if primary_group is not None: + self.primary_group = primary_group + if uid is not None: + self.uid = uid + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `LocalUserPost`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `LocalUserPost`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `LocalUserPost`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `LocalUserPost`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(LocalUserPost, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, LocalUserPost): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/local_user_response.py b/pypureclient/flasharray/FA_2_26/models/local_user_response.py new file mode 100644 index 000000000..0a2f070ad --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/local_user_response.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class LocalUserResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'items': 'list[LocalUser]' + } + + attribute_map = { + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + items=None, # type: List[models.LocalUser] + ): + """ + Keyword args: + items (list[LocalUser]): Displays a list of all items after filtering. The values are displayed for each name, if meaningful. + """ + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `LocalUserResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `LocalUserResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `LocalUserResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `LocalUserResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(LocalUserResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, LocalUserResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/localgroupmembershippost_members.py b/pypureclient/flasharray/FA_2_26/models/localgroupmembershippost_members.py new file mode 100644 index 000000000..5e2497c94 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/localgroupmembershippost_members.py @@ -0,0 +1,135 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class LocalgroupmembershippostMembers(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'member': 'ReferenceWithType', + 'member_id': 'int' + } + + attribute_map = { + 'member': 'member', + 'member_id': 'member_id' + } + + required_args = { + } + + def __init__( + self, + member=None, # type: models.ReferenceWithType + member_id=None, # type: int + ): + """ + Keyword args: + member (ReferenceWithType): Reference to the resource that will be a member of the group. The `id` or `name` parameter is required, but cannot be set together. + member_id (int): The member ID that should be mapped. + """ + if member is not None: + self.member = member + if member_id is not None: + self.member_id = member_id + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `LocalgroupmembershippostMembers`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `LocalgroupmembershippostMembers`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `LocalgroupmembershippostMembers`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `LocalgroupmembershippostMembers`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(LocalgroupmembershippostMembers, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, LocalgroupmembershippostMembers): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/localusermembershippost_groups.py b/pypureclient/flasharray/FA_2_26/models/localusermembershippost_groups.py new file mode 100644 index 000000000..b25a74d01 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/localusermembershippost_groups.py @@ -0,0 +1,135 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class LocalusermembershippostGroups(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'group': 'ReferenceWithType', + 'group_gid': 'int' + } + + attribute_map = { + 'group': 'group', + 'group_gid': 'group_gid' + } + + required_args = { + } + + def __init__( + self, + group=None, # type: models.ReferenceWithType + group_gid=None, # type: int + ): + """ + Keyword args: + group (ReferenceWithType): Reference to a group of which the user is a member. The `id` or `name` parameter is required, but cannot be set together. + group_gid (int): The group GID that should be mapped. + """ + if group is not None: + self.group = group + if group_gid is not None: + self.group_gid = group_gid + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `LocalusermembershippostGroups`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `LocalusermembershippostGroups`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `LocalusermembershippostGroups`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `LocalusermembershippostGroups`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(LocalusermembershippostGroups, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, LocalusermembershippostGroups): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/maintenance_window.py b/pypureclient/flasharray/FA_2_26/models/maintenance_window.py new file mode 100644 index 000000000..c4d3e1038 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/maintenance_window.py @@ -0,0 +1,141 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class MaintenanceWindow(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'name': 'str', + 'created': 'int', + 'expires': 'int' + } + + attribute_map = { + 'name': 'name', + 'created': 'created', + 'expires': 'expires' + } + + required_args = { + } + + def __init__( + self, + name=None, # type: str + created=None, # type: int + expires=None, # type: int + ): + """ + Keyword args: + name (str): A user-specified name. The name must be locally unique and can be changed. + created (int): The maintenance window start time, measured in milliseconds since the UNIX epoch. + expires (int): The maintenance window end time, measured in milliseconds since the UNIX epoch. + """ + if name is not None: + self.name = name + if created is not None: + self.created = created + if expires is not None: + self.expires = expires + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `MaintenanceWindow`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `MaintenanceWindow`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `MaintenanceWindow`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `MaintenanceWindow`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(MaintenanceWindow, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, MaintenanceWindow): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/maintenance_window_post.py b/pypureclient/flasharray/FA_2_26/models/maintenance_window_post.py new file mode 100644 index 000000000..bf54e6734 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/maintenance_window_post.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class MaintenanceWindowPost(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'timeout': 'int' + } + + attribute_map = { + 'timeout': 'timeout' + } + + required_args = { + } + + def __init__( + self, + timeout=None, # type: int + ): + """ + Keyword args: + timeout (int): The specified length of time that alerts are suppressed during a maintenance window, measured in milliseconds. The maintenance window timeout value must be between `60000` (1 minute) and `86400000` (24 hours). The value entered is rounded down to the nearest minute. The `names` and `timeout` parameters must be set together, and the `names` parameter must be set to `environment`. + """ + if timeout is not None: + self.timeout = timeout + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `MaintenanceWindowPost`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `MaintenanceWindowPost`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `MaintenanceWindowPost`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `MaintenanceWindowPost`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(MaintenanceWindowPost, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, MaintenanceWindowPost): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/maintenance_windows_get_response.py b/pypureclient/flasharray/FA_2_26/models/maintenance_windows_get_response.py new file mode 100644 index 000000000..0d2f4a9e9 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/maintenance_windows_get_response.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class MaintenanceWindowsGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[MaintenanceWindow]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.MaintenanceWindow] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[MaintenanceWindow]) + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `MaintenanceWindowsGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `MaintenanceWindowsGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `MaintenanceWindowsGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `MaintenanceWindowsGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(MaintenanceWindowsGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, MaintenanceWindowsGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/maintenance_windows_response.py b/pypureclient/flasharray/FA_2_26/models/maintenance_windows_response.py new file mode 100644 index 000000000..38e806d12 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/maintenance_windows_response.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class MaintenanceWindowsResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'items': 'list[MaintenanceWindow]' + } + + attribute_map = { + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + items=None, # type: List[models.MaintenanceWindow] + ): + """ + Keyword args: + items (list[MaintenanceWindow]) + """ + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `MaintenanceWindowsResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `MaintenanceWindowsResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `MaintenanceWindowsResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `MaintenanceWindowsResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(MaintenanceWindowsResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, MaintenanceWindowsResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/member.py b/pypureclient/flasharray/FA_2_26/models/member.py new file mode 100644 index 000000000..e3161e753 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/member.py @@ -0,0 +1,135 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class Member(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'group': 'Reference', + 'member': 'Reference' + } + + attribute_map = { + 'group': 'group', + 'member': 'member' + } + + required_args = { + } + + def __init__( + self, + group=None, # type: models.Reference + member=None, # type: models.Reference + ): + """ + Keyword args: + group (Reference) + member (Reference) + """ + if group is not None: + self.group = group + if member is not None: + self.member = member + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Member`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Member`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Member`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Member`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(Member, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, Member): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/member_get_response.py b/pypureclient/flasharray/FA_2_26/models/member_get_response.py new file mode 100644 index 000000000..207c4b3db --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/member_get_response.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class MemberGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[Member]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.Member] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[Member]): Returns a list of all items after filtering. The values are displayed for each name where meaningful. If `total_only=true`, the `items` list will be empty. + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `MemberGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `MemberGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `MemberGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `MemberGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(MemberGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, MemberGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/member_no_id_all.py b/pypureclient/flasharray/FA_2_26/models/member_no_id_all.py new file mode 100644 index 000000000..73039507b --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/member_no_id_all.py @@ -0,0 +1,135 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class MemberNoIdAll(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'group': 'ReferenceNoId', + 'member': 'ReferenceNoId' + } + + attribute_map = { + 'group': 'group', + 'member': 'member' + } + + required_args = { + } + + def __init__( + self, + group=None, # type: models.ReferenceNoId + member=None, # type: models.ReferenceNoId + ): + """ + Keyword args: + group (ReferenceNoId): The resource in which the host, volume, or other item in the environment is a member. + member (ReferenceNoId): The member of the resource. + """ + if group is not None: + self.group = group + if member is not None: + self.member = member + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `MemberNoIdAll`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `MemberNoIdAll`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `MemberNoIdAll`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `MemberNoIdAll`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(MemberNoIdAll, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, MemberNoIdAll): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/member_no_id_all_get_response.py b/pypureclient/flasharray/FA_2_26/models/member_no_id_all_get_response.py new file mode 100644 index 000000000..fd444cebc --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/member_no_id_all_get_response.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class MemberNoIdAllGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[MemberNoIdAll]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.MemberNoIdAll] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[MemberNoIdAll]): Returns a list of all items after filtering. The values are displayed for each name where meaningful. + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `MemberNoIdAllGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `MemberNoIdAllGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `MemberNoIdAllGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `MemberNoIdAllGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(MemberNoIdAllGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, MemberNoIdAllGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/member_no_id_all_response.py b/pypureclient/flasharray/FA_2_26/models/member_no_id_all_response.py new file mode 100644 index 000000000..7e249854f --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/member_no_id_all_response.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class MemberNoIdAllResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'items': 'list[MemberNoIdAll]' + } + + attribute_map = { + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + items=None, # type: List[models.MemberNoIdAll] + ): + """ + Keyword args: + items (list[MemberNoIdAll]): Returns a list of all items after filtering. The values are displayed for each name where meaningful. + """ + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `MemberNoIdAllResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `MemberNoIdAllResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `MemberNoIdAllResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `MemberNoIdAllResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(MemberNoIdAllResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, MemberNoIdAllResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/member_no_id_group.py b/pypureclient/flasharray/FA_2_26/models/member_no_id_group.py new file mode 100644 index 000000000..7091dec9a --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/member_no_id_group.py @@ -0,0 +1,135 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class MemberNoIdGroup(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'group': 'ReferenceNoId', + 'member': 'Reference' + } + + attribute_map = { + 'group': 'group', + 'member': 'member' + } + + required_args = { + } + + def __init__( + self, + group=None, # type: models.ReferenceNoId + member=None, # type: models.Reference + ): + """ + Keyword args: + group (ReferenceNoId) + member (Reference) + """ + if group is not None: + self.group = group + if member is not None: + self.member = member + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `MemberNoIdGroup`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `MemberNoIdGroup`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `MemberNoIdGroup`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `MemberNoIdGroup`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(MemberNoIdGroup, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, MemberNoIdGroup): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/member_no_id_member.py b/pypureclient/flasharray/FA_2_26/models/member_no_id_member.py new file mode 100644 index 000000000..dce5077ae --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/member_no_id_member.py @@ -0,0 +1,135 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class MemberNoIdMember(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'group': 'Reference', + 'member': 'ReferenceNoId' + } + + attribute_map = { + 'group': 'group', + 'member': 'member' + } + + required_args = { + } + + def __init__( + self, + group=None, # type: models.Reference + member=None, # type: models.ReferenceNoId + ): + """ + Keyword args: + group (Reference): The resource in which the host, volume, or other item in the environment is a member. + member (ReferenceNoId): The member of the resource. + """ + if group is not None: + self.group = group + if member is not None: + self.member = member + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `MemberNoIdMember`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `MemberNoIdMember`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `MemberNoIdMember`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `MemberNoIdMember`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(MemberNoIdMember, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, MemberNoIdMember): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/member_no_id_member_get_response.py b/pypureclient/flasharray/FA_2_26/models/member_no_id_member_get_response.py new file mode 100644 index 000000000..e4cdf4419 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/member_no_id_member_get_response.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class MemberNoIdMemberGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[MemberNoIdMember]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.MemberNoIdMember] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[MemberNoIdMember]): Returns a list of all items after filtering. The values are displayed for each name, if meaningful. + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `MemberNoIdMemberGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `MemberNoIdMemberGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `MemberNoIdMemberGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `MemberNoIdMemberGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(MemberNoIdMemberGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, MemberNoIdMemberGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/member_no_id_member_response.py b/pypureclient/flasharray/FA_2_26/models/member_no_id_member_response.py new file mode 100644 index 000000000..b2245f462 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/member_no_id_member_response.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class MemberNoIdMemberResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'items': 'list[MemberNoIdMember]' + } + + attribute_map = { + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + items=None, # type: List[models.MemberNoIdMember] + ): + """ + Keyword args: + items (list[MemberNoIdMember]): Returns a list of all items after filtering. The values are displayed for each name, if meaningful. + """ + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `MemberNoIdMemberResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `MemberNoIdMemberResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `MemberNoIdMemberResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `MemberNoIdMemberResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(MemberNoIdMemberResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, MemberNoIdMemberResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/member_response.py b/pypureclient/flasharray/FA_2_26/models/member_response.py new file mode 100644 index 000000000..fb90c4852 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/member_response.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class MemberResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'items': 'list[Member]' + } + + attribute_map = { + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + items=None, # type: List[models.Member] + ): + """ + Keyword args: + items (list[Member]): Returns a list of all items after filtering. The values are displayed for each name where meaningful. If `total_only=true`, the `items` list will be empty. + """ + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `MemberResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `MemberResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `MemberResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `MemberResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(MemberResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, MemberResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/network_interface.py b/pypureclient/flasharray/FA_2_26/models/network_interface.py new file mode 100644 index 000000000..ec90c4e70 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/network_interface.py @@ -0,0 +1,165 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class NetworkInterface(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'name': 'str', + 'enabled': 'bool', + 'eth': 'NetworkInterfaceEth', + 'fc': 'NetworkInterfaceFc', + 'interface_type': 'str', + 'services': 'list[str]', + 'speed': 'int' + } + + attribute_map = { + 'name': 'name', + 'enabled': 'enabled', + 'eth': 'eth', + 'fc': 'fc', + 'interface_type': 'interface_type', + 'services': 'services', + 'speed': 'speed' + } + + required_args = { + } + + def __init__( + self, + name=None, # type: str + enabled=None, # type: bool + eth=None, # type: models.NetworkInterfaceEth + fc=None, # type: models.NetworkInterfaceFc + interface_type=None, # type: str + services=None, # type: List[str] + speed=None, # type: int + ): + """ + Keyword args: + name (str): A locally unique, system-generated name. The name cannot be modified. + enabled (bool): Returns a value of `true` if the specified network interface or Fibre Channel port is enabled. Returns a value of `false` if the specified network interface or Fibre Channel port is disabled. + eth (NetworkInterfaceEth) + fc (NetworkInterfaceFc) + interface_type (str): The interface type. Valid values are `eth` and `fc`. + services (list[str]): The services provided by the specified network interface or Fibre Channel port. + speed (int): Configured speed of the specified network interface or Fibre Channel port (in Gb/s). Typically this is the maximum speed of the port or bond represented by the network interface. + """ + if name is not None: + self.name = name + if enabled is not None: + self.enabled = enabled + if eth is not None: + self.eth = eth + if fc is not None: + self.fc = fc + if interface_type is not None: + self.interface_type = interface_type + if services is not None: + self.services = services + if speed is not None: + self.speed = speed + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterface`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterface`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterface`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterface`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(NetworkInterface, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, NetworkInterface): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/network_interface_eth.py b/pypureclient/flasharray/FA_2_26/models/network_interface_eth.py new file mode 100644 index 000000000..68b0c5259 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/network_interface_eth.py @@ -0,0 +1,177 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class NetworkInterfaceEth(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'address': 'str', + 'gateway': 'str', + 'mac_address': 'str', + 'mtu': 'int', + 'netmask': 'str', + 'subinterfaces': 'list[FixedReferenceNoId]', + 'subnet': 'ReferenceNoId', + 'subtype': 'str', + 'vlan': 'int' + } + + attribute_map = { + 'address': 'address', + 'gateway': 'gateway', + 'mac_address': 'mac_address', + 'mtu': 'mtu', + 'netmask': 'netmask', + 'subinterfaces': 'subinterfaces', + 'subnet': 'subnet', + 'subtype': 'subtype', + 'vlan': 'vlan' + } + + required_args = { + } + + def __init__( + self, + address=None, # type: str + gateway=None, # type: str + mac_address=None, # type: str + mtu=None, # type: int + netmask=None, # type: str + subinterfaces=None, # type: List[models.FixedReferenceNoId] + subnet=None, # type: models.ReferenceNoId + subtype=None, # type: str + vlan=None, # type: int + ): + """ + Keyword args: + address (str): The IPv4 or IPv6 address to be associated with the specified network interface. + gateway (str): The IPv4 or IPv6 address of the gateway through which the specified network interface is to communicate with the network. + mac_address (str): The media access control address associated with the specified network interface. + mtu (int): Maximum message transfer unit (packet) size for the network interface, in bytes. MTU setting cannot exceed the MTU of the corresponding physical interface. + netmask (str): Netmask of the specified network interface that, when combined with the address of the interface, determines the network address of the interface. + subinterfaces (list[FixedReferenceNoId]): List of network interfaces configured to be a subinterface of the specified network interface. + subnet (ReferenceNoId): Subnet that is associated with the specified network interface. + subtype (str): The subtype of the specified network interface. Only interfaces of subtype `virtual` can be created. Configurable on POST only. Valid values are `failover_bond`, `lacp_bond`, `physical`, and `virtual`. + vlan (int): VLAN ID + """ + if address is not None: + self.address = address + if gateway is not None: + self.gateway = gateway + if mac_address is not None: + self.mac_address = mac_address + if mtu is not None: + self.mtu = mtu + if netmask is not None: + self.netmask = netmask + if subinterfaces is not None: + self.subinterfaces = subinterfaces + if subnet is not None: + self.subnet = subnet + if subtype is not None: + self.subtype = subtype + if vlan is not None: + self.vlan = vlan + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfaceEth`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfaceEth`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfaceEth`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfaceEth`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(NetworkInterfaceEth, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, NetworkInterfaceEth): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/network_interface_fc.py b/pypureclient/flasharray/FA_2_26/models/network_interface_fc.py new file mode 100644 index 000000000..758a89dc1 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/network_interface_fc.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class NetworkInterfaceFc(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'wwn': 'str' + } + + attribute_map = { + 'wwn': 'wwn' + } + + required_args = { + } + + def __init__( + self, + wwn=None, # type: str + ): + """ + Keyword args: + wwn (str): World Wide Name of the specified Fibre Channel port. + """ + if wwn is not None: + self.wwn = wwn + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfaceFc`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfaceFc`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfaceFc`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfaceFc`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(NetworkInterfaceFc, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, NetworkInterfaceFc): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/network_interface_get_response.py b/pypureclient/flasharray/FA_2_26/models/network_interface_get_response.py new file mode 100644 index 000000000..a6e2245b3 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/network_interface_get_response.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class NetworkInterfaceGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[NetworkInterface]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.NetworkInterface] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[NetworkInterface]) + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfaceGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfaceGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfaceGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfaceGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(NetworkInterfaceGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, NetworkInterfaceGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/network_interface_neighbor.py b/pypureclient/flasharray/FA_2_26/models/network_interface_neighbor.py new file mode 100644 index 000000000..a232224bb --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/network_interface_neighbor.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class NetworkInterfaceNeighbor(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'initial_ttl_in_sec': 'int', + 'local_port': 'FixedReferenceNoId', + 'neighbor_chassis': 'NetworkInterfaceNeighborNeighborChassis', + 'neighbor_port': 'NetworkInterfaceNeighborNeighborPort' + } + + attribute_map = { + 'initial_ttl_in_sec': 'initial_ttl_in_sec', + 'local_port': 'local_port', + 'neighbor_chassis': 'neighbor_chassis', + 'neighbor_port': 'neighbor_port' + } + + required_args = { + } + + def __init__( + self, + initial_ttl_in_sec=None, # type: int + local_port=None, # type: models.FixedReferenceNoId + neighbor_chassis=None, # type: models.NetworkInterfaceNeighborNeighborChassis + neighbor_port=None, # type: models.NetworkInterfaceNeighborNeighborPort + ): + """ + Keyword args: + initial_ttl_in_sec (int): The initial time to live in seconds from when the local port received notice that the neighbor information is regarded as valid. The time is not measured from when this endpoint was queried. + local_port (FixedReferenceNoId): A reference to the local network interface the neighbor is connected to. + neighbor_chassis (NetworkInterfaceNeighborNeighborChassis) + neighbor_port (NetworkInterfaceNeighborNeighborPort) + """ + if initial_ttl_in_sec is not None: + self.initial_ttl_in_sec = initial_ttl_in_sec + if local_port is not None: + self.local_port = local_port + if neighbor_chassis is not None: + self.neighbor_chassis = neighbor_chassis + if neighbor_port is not None: + self.neighbor_port = neighbor_port + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfaceNeighbor`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfaceNeighbor`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfaceNeighbor`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfaceNeighbor`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(NetworkInterfaceNeighbor, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, NetworkInterfaceNeighbor): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/network_interface_neighbor_capability.py b/pypureclient/flasharray/FA_2_26/models/network_interface_neighbor_capability.py new file mode 100644 index 000000000..1e3acd9df --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/network_interface_neighbor_capability.py @@ -0,0 +1,135 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class NetworkInterfaceNeighborCapability(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'supported': 'bool', + 'enabled': 'bool' + } + + attribute_map = { + 'supported': 'supported', + 'enabled': 'enabled' + } + + required_args = { + } + + def __init__( + self, + supported=None, # type: bool + enabled=None, # type: bool + ): + """ + Keyword args: + supported (bool): If true, this capability is supported by this neighbor; false otherwise. + enabled (bool): If true, this capability is enabled by this neighbor; false otherwise. + """ + if supported is not None: + self.supported = supported + if enabled is not None: + self.enabled = enabled + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfaceNeighborCapability`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfaceNeighborCapability`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfaceNeighborCapability`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfaceNeighborCapability`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(NetworkInterfaceNeighborCapability, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, NetworkInterfaceNeighborCapability): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/network_interface_neighbor_get_response.py b/pypureclient/flasharray/FA_2_26/models/network_interface_neighbor_get_response.py new file mode 100644 index 000000000..1c7fe1d72 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/network_interface_neighbor_get_response.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class NetworkInterfaceNeighborGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[NetworkInterfaceNeighbor]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.NetworkInterfaceNeighbor] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[NetworkInterfaceNeighbor]) + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfaceNeighborGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfaceNeighborGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfaceNeighborGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfaceNeighborGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(NetworkInterfaceNeighborGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, NetworkInterfaceNeighborGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/network_interface_neighbor_neighbor_chassis.py b/pypureclient/flasharray/FA_2_26/models/network_interface_neighbor_neighbor_chassis.py new file mode 100644 index 000000000..605d69bad --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/network_interface_neighbor_neighbor_chassis.py @@ -0,0 +1,189 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class NetworkInterfaceNeighborNeighborChassis(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'addresses': 'list[str]', + 'bridge': 'NetworkInterfaceNeighborCapability', + 'description': 'str', + 'docsis_cable_device': 'NetworkInterfaceNeighborCapability', + 'id': 'NetworkInterfaceNeighborNeighborChassisId', + 'name': 'str', + 'repeater': 'NetworkInterfaceNeighborCapability', + 'router': 'NetworkInterfaceNeighborCapability', + 'station_only': 'NetworkInterfaceNeighborCapability', + 'telephone': 'NetworkInterfaceNeighborCapability', + 'wlan_access_point': 'NetworkInterfaceNeighborCapability' + } + + attribute_map = { + 'addresses': 'addresses', + 'bridge': 'bridge', + 'description': 'description', + 'docsis_cable_device': 'docsis_cable_device', + 'id': 'id', + 'name': 'name', + 'repeater': 'repeater', + 'router': 'router', + 'station_only': 'station_only', + 'telephone': 'telephone', + 'wlan_access_point': 'wlan_access_point' + } + + required_args = { + } + + def __init__( + self, + addresses=None, # type: List[str] + bridge=None, # type: models.NetworkInterfaceNeighborCapability + description=None, # type: str + docsis_cable_device=None, # type: models.NetworkInterfaceNeighborCapability + id=None, # type: models.NetworkInterfaceNeighborNeighborChassisId + name=None, # type: str + repeater=None, # type: models.NetworkInterfaceNeighborCapability + router=None, # type: models.NetworkInterfaceNeighborCapability + station_only=None, # type: models.NetworkInterfaceNeighborCapability + telephone=None, # type: models.NetworkInterfaceNeighborCapability + wlan_access_point=None, # type: models.NetworkInterfaceNeighborCapability + ): + """ + Keyword args: + addresses (list[str]): Management IP addresses of the neighbor. + bridge (NetworkInterfaceNeighborCapability): Bridge capability of the neighbor system. + description (str): The textual description of the neighbor. The description may include the full name and version identification of the system hardware type, software operating system, and networking software. + docsis_cable_device (NetworkInterfaceNeighborCapability): DOCSIS cable device capability of the neighbor system. + id (NetworkInterfaceNeighborNeighborChassisId) + name (str): Administratively assigned name of the neighbour. + repeater (NetworkInterfaceNeighborCapability): Neighbor system's repeater capability. + router (NetworkInterfaceNeighborCapability): IP router capability of the neighbor system. + station_only (NetworkInterfaceNeighborCapability): Station only status of the neighbor system. + telephone (NetworkInterfaceNeighborCapability): Telephone capability of the neighbor system. + wlan_access_point (NetworkInterfaceNeighborCapability): WLAN access point capability of the neighbor system. + """ + if addresses is not None: + self.addresses = addresses + if bridge is not None: + self.bridge = bridge + if description is not None: + self.description = description + if docsis_cable_device is not None: + self.docsis_cable_device = docsis_cable_device + if id is not None: + self.id = id + if name is not None: + self.name = name + if repeater is not None: + self.repeater = repeater + if router is not None: + self.router = router + if station_only is not None: + self.station_only = station_only + if telephone is not None: + self.telephone = telephone + if wlan_access_point is not None: + self.wlan_access_point = wlan_access_point + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfaceNeighborNeighborChassis`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfaceNeighborNeighborChassis`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfaceNeighborNeighborChassis`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfaceNeighborNeighborChassis`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(NetworkInterfaceNeighborNeighborChassis, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, NetworkInterfaceNeighborNeighborChassis): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/network_interface_neighbor_neighbor_chassis_id.py b/pypureclient/flasharray/FA_2_26/models/network_interface_neighbor_neighbor_chassis_id.py new file mode 100644 index 000000000..63735d6f9 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/network_interface_neighbor_neighbor_chassis_id.py @@ -0,0 +1,135 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class NetworkInterfaceNeighborNeighborChassisId(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'type': 'str', + 'value': 'str' + } + + attribute_map = { + 'type': 'type', + 'value': 'value' + } + + required_args = { + } + + def __init__( + self, + type=None, # type: str + value=None, # type: str + ): + """ + Keyword args: + type (str): The chassis ID subtype. Valid values are `ifname`, `ifalias`, `local`, `mac`, `ip`, and `unhandled`. + value (str): The specific identifier for the particular chassis. + """ + if type is not None: + self.type = type + if value is not None: + self.value = value + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfaceNeighborNeighborChassisId`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfaceNeighborNeighborChassisId`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfaceNeighborNeighborChassisId`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfaceNeighborNeighborChassisId`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(NetworkInterfaceNeighborNeighborChassisId, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, NetworkInterfaceNeighborNeighborChassisId): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/network_interface_neighbor_neighbor_port.py b/pypureclient/flasharray/FA_2_26/models/network_interface_neighbor_neighbor_port.py new file mode 100644 index 000000000..354ad3ed5 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/network_interface_neighbor_neighbor_port.py @@ -0,0 +1,135 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class NetworkInterfaceNeighborNeighborPort(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'description': 'str', + 'id': 'NetworkInterfaceNeighborNeighborPortId' + } + + attribute_map = { + 'description': 'description', + 'id': 'id' + } + + required_args = { + } + + def __init__( + self, + description=None, # type: str + id=None, # type: models.NetworkInterfaceNeighborNeighborPortId + ): + """ + Keyword args: + description (str): A description of the neighbor port. + id (NetworkInterfaceNeighborNeighborPortId) + """ + if description is not None: + self.description = description + if id is not None: + self.id = id + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfaceNeighborNeighborPort`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfaceNeighborNeighborPort`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfaceNeighborNeighborPort`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfaceNeighborNeighborPort`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(NetworkInterfaceNeighborNeighborPort, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, NetworkInterfaceNeighborNeighborPort): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/network_interface_neighbor_neighbor_port_id.py b/pypureclient/flasharray/FA_2_26/models/network_interface_neighbor_neighbor_port_id.py new file mode 100644 index 000000000..73eba854b --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/network_interface_neighbor_neighbor_port_id.py @@ -0,0 +1,135 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class NetworkInterfaceNeighborNeighborPortId(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'type': 'str', + 'value': 'str' + } + + attribute_map = { + 'type': 'type', + 'value': 'value' + } + + required_args = { + } + + def __init__( + self, + type=None, # type: str + value=None, # type: str + ): + """ + Keyword args: + type (str): The port ID subtype. Valid values are `ifname`, `ifalias`, `local`, `mac`, `ip`, and `unhandled`. + value (str): The specific identifier for the particular port. + """ + if type is not None: + self.type = type + if value is not None: + self.value = value + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfaceNeighborNeighborPortId`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfaceNeighborNeighborPortId`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfaceNeighborNeighborPortId`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfaceNeighborNeighborPortId`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(NetworkInterfaceNeighborNeighborPortId, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, NetworkInterfaceNeighborNeighborPortId): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/network_interface_neighbor_response.py b/pypureclient/flasharray/FA_2_26/models/network_interface_neighbor_response.py new file mode 100644 index 000000000..1c3288de9 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/network_interface_neighbor_response.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class NetworkInterfaceNeighborResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'items': 'list[NetworkInterfaceNeighbor]' + } + + attribute_map = { + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + items=None, # type: List[models.NetworkInterfaceNeighbor] + ): + """ + Keyword args: + items (list[NetworkInterfaceNeighbor]) + """ + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfaceNeighborResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfaceNeighborResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfaceNeighborResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfaceNeighborResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(NetworkInterfaceNeighborResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, NetworkInterfaceNeighborResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/network_interface_patch.py b/pypureclient/flasharray/FA_2_26/models/network_interface_patch.py new file mode 100644 index 000000000..59706ad05 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/network_interface_patch.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class NetworkInterfacePatch(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'enabled': 'bool', + 'eth': 'NetworkinterfacepatchEth', + 'override_npiv_check': 'bool', + 'services': 'list[str]' + } + + attribute_map = { + 'enabled': 'enabled', + 'eth': 'eth', + 'override_npiv_check': 'override_npiv_check', + 'services': 'services' + } + + required_args = { + } + + def __init__( + self, + enabled=None, # type: bool + eth=None, # type: models.NetworkinterfacepatchEth + override_npiv_check=None, # type: bool + services=None, # type: List[str] + ): + """ + Keyword args: + enabled (bool): Returns a value of `true` if the specified network interface or Fibre Channel port is enabled. Returns a value of `false` if the specified network interface or Fibre Channel port is disabled. + eth (NetworkinterfacepatchEth) + override_npiv_check (bool): N-Port ID Virtualization (NPIV) requires a balanced configuration of Fibre Channel ports configured for SCSI on both controllers. Enabling or Disabling a Fibre Channel port configured for SCSI might cause the NPIV status to change from enabled to disabled or vice versa. Set this option to proceed with enabling or disabling the port. + services (list[str]): The services provided by the specified network interface or Fibre Channel port. + """ + if enabled is not None: + self.enabled = enabled + if eth is not None: + self.eth = eth + if override_npiv_check is not None: + self.override_npiv_check = override_npiv_check + if services is not None: + self.services = services + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfacePatch`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfacePatch`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfacePatch`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfacePatch`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(NetworkInterfacePatch, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, NetworkInterfacePatch): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/network_interface_performance.py b/pypureclient/flasharray/FA_2_26/models/network_interface_performance.py new file mode 100644 index 000000000..84ae680fb --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/network_interface_performance.py @@ -0,0 +1,153 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class NetworkInterfacePerformance(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'name': 'str', + 'interface_type': 'str', + 'time': 'int', + 'eth': 'NetworkInterfacePerformanceEth', + 'fc': 'NetworkInterfacePerformanceFc' + } + + attribute_map = { + 'name': 'name', + 'interface_type': 'interface_type', + 'time': 'time', + 'eth': 'eth', + 'fc': 'fc' + } + + required_args = { + } + + def __init__( + self, + name=None, # type: str + interface_type=None, # type: str + time=None, # type: int + eth=None, # type: models.NetworkInterfacePerformanceEth + fc=None, # type: models.NetworkInterfacePerformanceFc + ): + """ + Keyword args: + name (str): A user-specified name. The name must be locally unique and can be changed. + interface_type (str): The interface type. Valid values are `eth` and `fc`. + time (int): Sample time in milliseconds since UNIX epoch. + eth (NetworkInterfacePerformanceEth) + fc (NetworkInterfacePerformanceFc) + """ + if name is not None: + self.name = name + if interface_type is not None: + self.interface_type = interface_type + if time is not None: + self.time = time + if eth is not None: + self.eth = eth + if fc is not None: + self.fc = fc + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfacePerformance`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfacePerformance`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfacePerformance`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfacePerformance`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(NetworkInterfacePerformance, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, NetworkInterfacePerformance): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/network_interface_performance_eth.py b/pypureclient/flasharray/FA_2_26/models/network_interface_performance_eth.py new file mode 100644 index 000000000..91e2df74d --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/network_interface_performance_eth.py @@ -0,0 +1,213 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class NetworkInterfacePerformanceEth(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'other_errors_per_sec': 'int', + 'received_bytes_per_sec': 'int', + 'received_crc_errors_per_sec': 'int', + 'received_frame_errors_per_sec': 'int', + 'received_packets_per_sec': 'int', + 'total_errors_per_sec': 'int', + 'transmitted_bytes_per_sec': 'int', + 'transmitted_carrier_errors_per_sec': 'int', + 'transmitted_dropped_errors_per_sec': 'int', + 'transmitted_packets_per_sec': 'int' + } + + attribute_map = { + 'other_errors_per_sec': 'other_errors_per_sec', + 'received_bytes_per_sec': 'received_bytes_per_sec', + 'received_crc_errors_per_sec': 'received_crc_errors_per_sec', + 'received_frame_errors_per_sec': 'received_frame_errors_per_sec', + 'received_packets_per_sec': 'received_packets_per_sec', + 'total_errors_per_sec': 'total_errors_per_sec', + 'transmitted_bytes_per_sec': 'transmitted_bytes_per_sec', + 'transmitted_carrier_errors_per_sec': 'transmitted_carrier_errors_per_sec', + 'transmitted_dropped_errors_per_sec': 'transmitted_dropped_errors_per_sec', + 'transmitted_packets_per_sec': 'transmitted_packets_per_sec' + } + + required_args = { + } + + def __init__( + self, + other_errors_per_sec=None, # type: int + received_bytes_per_sec=None, # type: int + received_crc_errors_per_sec=None, # type: int + received_frame_errors_per_sec=None, # type: int + received_packets_per_sec=None, # type: int + total_errors_per_sec=None, # type: int + transmitted_bytes_per_sec=None, # type: int + transmitted_carrier_errors_per_sec=None, # type: int + transmitted_dropped_errors_per_sec=None, # type: int + transmitted_packets_per_sec=None, # type: int + ): + """ + Keyword args: + other_errors_per_sec (int): The sum of unspecified reception and transmission errors per second. + received_bytes_per_sec (int): Bytes received per second. + received_crc_errors_per_sec (int): Reception CRC errors per second. + received_frame_errors_per_sec (int): Received packet frame errors per second. + received_packets_per_sec (int): Packets received per second. + total_errors_per_sec (int): The sum of all reception and transmission errors per second. + transmitted_bytes_per_sec (int): Bytes transmitted per second. + transmitted_carrier_errors_per_sec (int): Transmission carrier errors per second. + transmitted_dropped_errors_per_sec (int): Transmitted packets dropped per second. + transmitted_packets_per_sec (int): Packets transmitted per second. + """ + if other_errors_per_sec is not None: + self.other_errors_per_sec = other_errors_per_sec + if received_bytes_per_sec is not None: + self.received_bytes_per_sec = received_bytes_per_sec + if received_crc_errors_per_sec is not None: + self.received_crc_errors_per_sec = received_crc_errors_per_sec + if received_frame_errors_per_sec is not None: + self.received_frame_errors_per_sec = received_frame_errors_per_sec + if received_packets_per_sec is not None: + self.received_packets_per_sec = received_packets_per_sec + if total_errors_per_sec is not None: + self.total_errors_per_sec = total_errors_per_sec + if transmitted_bytes_per_sec is not None: + self.transmitted_bytes_per_sec = transmitted_bytes_per_sec + if transmitted_carrier_errors_per_sec is not None: + self.transmitted_carrier_errors_per_sec = transmitted_carrier_errors_per_sec + if transmitted_dropped_errors_per_sec is not None: + self.transmitted_dropped_errors_per_sec = transmitted_dropped_errors_per_sec + if transmitted_packets_per_sec is not None: + self.transmitted_packets_per_sec = transmitted_packets_per_sec + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfacePerformanceEth`".format(key)) + if key == "other_errors_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `other_errors_per_sec`, must be a value greater than or equal to `0`") + if key == "received_bytes_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `received_bytes_per_sec`, must be a value greater than or equal to `0`") + if key == "received_crc_errors_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `received_crc_errors_per_sec`, must be a value greater than or equal to `0`") + if key == "received_frame_errors_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `received_frame_errors_per_sec`, must be a value greater than or equal to `0`") + if key == "received_packets_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `received_packets_per_sec`, must be a value greater than or equal to `0`") + if key == "total_errors_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `total_errors_per_sec`, must be a value greater than or equal to `0`") + if key == "transmitted_bytes_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `transmitted_bytes_per_sec`, must be a value greater than or equal to `0`") + if key == "transmitted_carrier_errors_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `transmitted_carrier_errors_per_sec`, must be a value greater than or equal to `0`") + if key == "transmitted_dropped_errors_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `transmitted_dropped_errors_per_sec`, must be a value greater than or equal to `0`") + if key == "transmitted_packets_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `transmitted_packets_per_sec`, must be a value greater than or equal to `0`") + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfacePerformanceEth`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfacePerformanceEth`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfacePerformanceEth`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(NetworkInterfacePerformanceEth, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, NetworkInterfacePerformanceEth): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/network_interface_performance_fc.py b/pypureclient/flasharray/FA_2_26/models/network_interface_performance_fc.py new file mode 100644 index 000000000..9763b6947 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/network_interface_performance_fc.py @@ -0,0 +1,213 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class NetworkInterfacePerformanceFc(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'received_bytes_per_sec': 'int', + 'received_crc_errors_per_sec': 'int', + 'received_frames_per_sec': 'int', + 'received_link_failures_per_sec': 'int', + 'received_loss_of_signal_per_sec': 'int', + 'received_loss_of_sync_per_sec': 'int', + 'total_errors_per_sec': 'int', + 'transmitted_bytes_per_sec': 'int', + 'transmitted_frames_per_sec': 'int', + 'transmitted_invalid_words_per_sec': 'int' + } + + attribute_map = { + 'received_bytes_per_sec': 'received_bytes_per_sec', + 'received_crc_errors_per_sec': 'received_crc_errors_per_sec', + 'received_frames_per_sec': 'received_frames_per_sec', + 'received_link_failures_per_sec': 'received_link_failures_per_sec', + 'received_loss_of_signal_per_sec': 'received_loss_of_signal_per_sec', + 'received_loss_of_sync_per_sec': 'received_loss_of_sync_per_sec', + 'total_errors_per_sec': 'total_errors_per_sec', + 'transmitted_bytes_per_sec': 'transmitted_bytes_per_sec', + 'transmitted_frames_per_sec': 'transmitted_frames_per_sec', + 'transmitted_invalid_words_per_sec': 'transmitted_invalid_words_per_sec' + } + + required_args = { + } + + def __init__( + self, + received_bytes_per_sec=None, # type: int + received_crc_errors_per_sec=None, # type: int + received_frames_per_sec=None, # type: int + received_link_failures_per_sec=None, # type: int + received_loss_of_signal_per_sec=None, # type: int + received_loss_of_sync_per_sec=None, # type: int + total_errors_per_sec=None, # type: int + transmitted_bytes_per_sec=None, # type: int + transmitted_frames_per_sec=None, # type: int + transmitted_invalid_words_per_sec=None, # type: int + ): + """ + Keyword args: + received_bytes_per_sec (int): Bytes received per second. + received_crc_errors_per_sec (int): Fibre Channel frame CRC errors per second. + received_frames_per_sec (int): Fibre Channel frames received per second. + received_link_failures_per_sec (int): Loss of connectivity errors per second. + received_loss_of_signal_per_sec (int): Loss of signal errors on Fibre Channel port per second. + received_loss_of_sync_per_sec (int): Loss of sync errors on Fibre Channel port per second. + total_errors_per_sec (int): The sum of all reception and transmission errors per second. + transmitted_bytes_per_sec (int): Bytes transmitted per second. + transmitted_frames_per_sec (int): Fibre Channel frames transmitted per second. + transmitted_invalid_words_per_sec (int): Bit errors in transmission word per second. + """ + if received_bytes_per_sec is not None: + self.received_bytes_per_sec = received_bytes_per_sec + if received_crc_errors_per_sec is not None: + self.received_crc_errors_per_sec = received_crc_errors_per_sec + if received_frames_per_sec is not None: + self.received_frames_per_sec = received_frames_per_sec + if received_link_failures_per_sec is not None: + self.received_link_failures_per_sec = received_link_failures_per_sec + if received_loss_of_signal_per_sec is not None: + self.received_loss_of_signal_per_sec = received_loss_of_signal_per_sec + if received_loss_of_sync_per_sec is not None: + self.received_loss_of_sync_per_sec = received_loss_of_sync_per_sec + if total_errors_per_sec is not None: + self.total_errors_per_sec = total_errors_per_sec + if transmitted_bytes_per_sec is not None: + self.transmitted_bytes_per_sec = transmitted_bytes_per_sec + if transmitted_frames_per_sec is not None: + self.transmitted_frames_per_sec = transmitted_frames_per_sec + if transmitted_invalid_words_per_sec is not None: + self.transmitted_invalid_words_per_sec = transmitted_invalid_words_per_sec + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfacePerformanceFc`".format(key)) + if key == "received_bytes_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `received_bytes_per_sec`, must be a value greater than or equal to `0`") + if key == "received_crc_errors_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `received_crc_errors_per_sec`, must be a value greater than or equal to `0`") + if key == "received_frames_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `received_frames_per_sec`, must be a value greater than or equal to `0`") + if key == "received_link_failures_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `received_link_failures_per_sec`, must be a value greater than or equal to `0`") + if key == "received_loss_of_signal_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `received_loss_of_signal_per_sec`, must be a value greater than or equal to `0`") + if key == "received_loss_of_sync_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `received_loss_of_sync_per_sec`, must be a value greater than or equal to `0`") + if key == "total_errors_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `total_errors_per_sec`, must be a value greater than or equal to `0`") + if key == "transmitted_bytes_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `transmitted_bytes_per_sec`, must be a value greater than or equal to `0`") + if key == "transmitted_frames_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `transmitted_frames_per_sec`, must be a value greater than or equal to `0`") + if key == "transmitted_invalid_words_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `transmitted_invalid_words_per_sec`, must be a value greater than or equal to `0`") + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfacePerformanceFc`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfacePerformanceFc`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfacePerformanceFc`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(NetworkInterfacePerformanceFc, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, NetworkInterfacePerformanceFc): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/network_interface_performance_get_response.py b/pypureclient/flasharray/FA_2_26/models/network_interface_performance_get_response.py new file mode 100644 index 000000000..23578735b --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/network_interface_performance_get_response.py @@ -0,0 +1,153 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class NetworkInterfacePerformanceGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[NetworkInterfacePerformance]', + 'total': 'list[NetworkInterfacePerformance]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items', + 'total': 'total' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.NetworkInterfacePerformance] + total=None, # type: List[models.NetworkInterfacePerformance] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[NetworkInterfacePerformance]): A list of performance objects. + total (list[NetworkInterfacePerformance]): The aggregate value of all items after filtering. Where it makes more sense, the average value is displayed instead. The values are displayed for each field where meaningful. + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + if total is not None: + self.total = total + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfacePerformanceGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfacePerformanceGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfacePerformanceGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfacePerformanceGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(NetworkInterfacePerformanceGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, NetworkInterfacePerformanceGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/network_interface_port_details.py b/pypureclient/flasharray/FA_2_26/models/network_interface_port_details.py new file mode 100644 index 000000000..cb5e764eb --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/network_interface_port_details.py @@ -0,0 +1,183 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class NetworkInterfacePortDetails(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'name': 'str', + 'interface_type': 'str', + 'temperature': 'list[NetworkInterfacePortDetailsTemperature]', + 'voltage': 'list[NetworkInterfacePortDetailsVoltage]', + 'tx_bias': 'list[NetworkInterfacePortDetailsTxBias]', + 'tx_power': 'list[NetworkInterfacePortDetailsTxPower]', + 'rx_power': 'list[NetworkInterfacePortDetailsRxPower]', + 'tx_fault': 'list[NetworkInterfacePortDetailsTxFault]', + 'rx_los': 'list[NetworkInterfacePortDetailsRxLos]', + 'static': 'NetworkInterfacePortDetailsStatic' + } + + attribute_map = { + 'name': 'name', + 'interface_type': 'interface_type', + 'temperature': 'temperature', + 'voltage': 'voltage', + 'tx_bias': 'tx_bias', + 'tx_power': 'tx_power', + 'rx_power': 'rx_power', + 'tx_fault': 'tx_fault', + 'rx_los': 'rx_los', + 'static': 'static' + } + + required_args = { + } + + def __init__( + self, + name=None, # type: str + interface_type=None, # type: str + temperature=None, # type: List[models.NetworkInterfacePortDetailsTemperature] + voltage=None, # type: List[models.NetworkInterfacePortDetailsVoltage] + tx_bias=None, # type: List[models.NetworkInterfacePortDetailsTxBias] + tx_power=None, # type: List[models.NetworkInterfacePortDetailsTxPower] + rx_power=None, # type: List[models.NetworkInterfacePortDetailsRxPower] + tx_fault=None, # type: List[models.NetworkInterfacePortDetailsTxFault] + rx_los=None, # type: List[models.NetworkInterfacePortDetailsRxLos] + static=None, # type: models.NetworkInterfacePortDetailsStatic + ): + """ + Keyword args: + name (str): A locally unique, system-generated name. The name cannot be modified. + interface_type (str): The interface type. Valid values are `eth` and `fc`. + temperature (list[NetworkInterfacePortDetailsTemperature]): Displays real-time measurement of transceiver temperature and range. If the transceiver does not support digital diagnostic monitoring, the array is empty. + voltage (list[NetworkInterfacePortDetailsVoltage]): Displays real-time measurement of supply voltage and whether it is within range. If the transceiver does not support digital diagnostic monitoring, the array is empty. + tx_bias (list[NetworkInterfacePortDetailsTxBias]): Displays real-time measurement of Tx bias current and whether it is within range. For four-lane modules, the array contains a measurement and status for each channel. If the transceiver does not support digital diagnostic monitoring, the array is empty. + tx_power (list[NetworkInterfacePortDetailsTxPower]): Displays real-time measurement of Tx output power and whether it is within range. For four-lane modules, the array contains a measurement and status for each channel. If the transceiver does not support digital diagnostic monitoring, the array is empty. + rx_power (list[NetworkInterfacePortDetailsRxPower]): Displays real-time measurement of Rx input power and whether it is within range. For four-lane modules, the array contains a measurement and status for each channel. If the transceiver does not support digital diagnostic monitoring, the array is empty. + tx_fault (list[NetworkInterfacePortDetailsTxFault]): Displays status flags for Tx Fault. A value of `true` indicates transmitter/laser fault. For four-lane modules, the array contains a flag for each channel. If the transceiver does not support digital diagnostic monitoring, the array is empty. + rx_los (list[NetworkInterfacePortDetailsRxLos]): Displays status flags for Rx LOS. A value of `true` indicates Rx Loss-of-Signal. For four-lane modules, the array contains a flag for each channel. If the transceiver does not support digital diagnostic monitoring, the array is empty. + static (NetworkInterfacePortDetailsStatic) + """ + if name is not None: + self.name = name + if interface_type is not None: + self.interface_type = interface_type + if temperature is not None: + self.temperature = temperature + if voltage is not None: + self.voltage = voltage + if tx_bias is not None: + self.tx_bias = tx_bias + if tx_power is not None: + self.tx_power = tx_power + if rx_power is not None: + self.rx_power = rx_power + if tx_fault is not None: + self.tx_fault = tx_fault + if rx_los is not None: + self.rx_los = rx_los + if static is not None: + self.static = static + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfacePortDetails`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfacePortDetails`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfacePortDetails`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfacePortDetails`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(NetworkInterfacePortDetails, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, NetworkInterfacePortDetails): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/network_interface_port_details_rx_los.py b/pypureclient/flasharray/FA_2_26/models/network_interface_port_details_rx_los.py new file mode 100644 index 000000000..8552db235 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/network_interface_port_details_rx_los.py @@ -0,0 +1,135 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class NetworkInterfacePortDetailsRxLos(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'channel': 'int', + 'flag': 'bool' + } + + attribute_map = { + 'channel': 'channel', + 'flag': 'flag' + } + + required_args = { + } + + def __init__( + self, + channel=None, # type: int + flag=None, # type: bool + ): + """ + Keyword args: + channel (int): The channel number if the transceiver is a multilane transceiver. If not specified, defaults to `null`. + flag (bool): A value of `true` indicates Rx Loss-of-Signal. + """ + if channel is not None: + self.channel = channel + if flag is not None: + self.flag = flag + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfacePortDetailsRxLos`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfacePortDetailsRxLos`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfacePortDetailsRxLos`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfacePortDetailsRxLos`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(NetworkInterfacePortDetailsRxLos, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, NetworkInterfacePortDetailsRxLos): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/network_interface_port_details_rx_power.py b/pypureclient/flasharray/FA_2_26/models/network_interface_port_details_rx_power.py new file mode 100644 index 000000000..4646aa54a --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/network_interface_port_details_rx_power.py @@ -0,0 +1,141 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class NetworkInterfacePortDetailsRxPower(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'channel': 'int', + 'measurement': 'float', + 'status': 'str' + } + + attribute_map = { + 'channel': 'channel', + 'measurement': 'measurement', + 'status': 'status' + } + + required_args = { + } + + def __init__( + self, + channel=None, # type: int + measurement=None, # type: float + status=None, # type: str + ): + """ + Keyword args: + channel (int): The channel number if the transceiver is a multilane transceiver. If not specified, defaults to `null`. + measurement (float): Rx input power in mW. + status (str): Indicates whether the measurement is outside the high alarm, low alarm, high warning, or low warning thresholds for Rx input power. Valid values are `alarm low`, `alarm high`, `warn low`, `warn high`, and `ok`. + """ + if channel is not None: + self.channel = channel + if measurement is not None: + self.measurement = measurement + if status is not None: + self.status = status + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfacePortDetailsRxPower`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfacePortDetailsRxPower`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfacePortDetailsRxPower`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfacePortDetailsRxPower`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(NetworkInterfacePortDetailsRxPower, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, NetworkInterfacePortDetailsRxPower): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/network_interface_port_details_static.py b/pypureclient/flasharray/FA_2_26/models/network_interface_port_details_static.py new file mode 100644 index 000000000..342119fae --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/network_interface_port_details_static.py @@ -0,0 +1,303 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class NetworkInterfacePortDetailsStatic(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'identifier': 'str', + 'extended_identifier': 'str', + 'connector_type': 'str', + 'encoding': 'str', + 'rate_identifier': 'str', + 'specifications': 'list[str]', + 'fc_link_lengths': 'list[str]', + 'fc_technology': 'list[str]', + 'cable_technology': 'list[str]', + 'fc_transmission_media': 'list[str]', + 'fc_speeds': 'str', + 'signaling_rate': 'str', + 'signaling_rate_max': 'str', + 'signaling_rate_min': 'str', + 'wavelength': 'str', + 'link_length': 'str', + 'vendor_name': 'str', + 'vendor_oui': 'str', + 'vendor_part_number': 'str', + 'vendor_revision': 'str', + 'vendor_serial_number': 'str', + 'vendor_date_code': 'str', + 'temperature_thresholds': 'NetworkInterfacePortDetailsStaticTemperatureThresholds', + 'voltage_thresholds': 'NetworkInterfacePortDetailsStaticVoltageThresholds', + 'tx_bias_thresholds': 'NetworkInterfacePortDetailsStaticTxBiasThresholds', + 'tx_power_thresholds': 'NetworkInterfacePortDetailsStaticTxPowerThresholds', + 'rx_power_thresholds': 'NetworkInterfacePortDetailsStaticRxPowerThresholds' + } + + attribute_map = { + 'identifier': 'identifier', + 'extended_identifier': 'extended_identifier', + 'connector_type': 'connector_type', + 'encoding': 'encoding', + 'rate_identifier': 'rate_identifier', + 'specifications': 'specifications', + 'fc_link_lengths': 'fc_link_lengths', + 'fc_technology': 'fc_technology', + 'cable_technology': 'cable_technology', + 'fc_transmission_media': 'fc_transmission_media', + 'fc_speeds': 'fc_speeds', + 'signaling_rate': 'signaling_rate', + 'signaling_rate_max': 'signaling_rate_max', + 'signaling_rate_min': 'signaling_rate_min', + 'wavelength': 'wavelength', + 'link_length': 'link_length', + 'vendor_name': 'vendor_name', + 'vendor_oui': 'vendor_oui', + 'vendor_part_number': 'vendor_part_number', + 'vendor_revision': 'vendor_revision', + 'vendor_serial_number': 'vendor_serial_number', + 'vendor_date_code': 'vendor_date_code', + 'temperature_thresholds': 'temperature_thresholds', + 'voltage_thresholds': 'voltage_thresholds', + 'tx_bias_thresholds': 'tx_bias_thresholds', + 'tx_power_thresholds': 'tx_power_thresholds', + 'rx_power_thresholds': 'rx_power_thresholds' + } + + required_args = { + } + + def __init__( + self, + identifier=None, # type: str + extended_identifier=None, # type: str + connector_type=None, # type: str + encoding=None, # type: str + rate_identifier=None, # type: str + specifications=None, # type: List[str] + fc_link_lengths=None, # type: List[str] + fc_technology=None, # type: List[str] + cable_technology=None, # type: List[str] + fc_transmission_media=None, # type: List[str] + fc_speeds=None, # type: str + signaling_rate=None, # type: str + signaling_rate_max=None, # type: str + signaling_rate_min=None, # type: str + wavelength=None, # type: str + link_length=None, # type: str + vendor_name=None, # type: str + vendor_oui=None, # type: str + vendor_part_number=None, # type: str + vendor_revision=None, # type: str + vendor_serial_number=None, # type: str + vendor_date_code=None, # type: str + temperature_thresholds=None, # type: models.NetworkInterfacePortDetailsStaticTemperatureThresholds + voltage_thresholds=None, # type: models.NetworkInterfacePortDetailsStaticVoltageThresholds + tx_bias_thresholds=None, # type: models.NetworkInterfacePortDetailsStaticTxBiasThresholds + tx_power_thresholds=None, # type: models.NetworkInterfacePortDetailsStaticTxPowerThresholds + rx_power_thresholds=None, # type: models.NetworkInterfacePortDetailsStaticRxPowerThresholds + ): + """ + Keyword args: + identifier (str): The transceiver type. + extended_identifier (str): The extended identifier of the transceiver type. + connector_type (str): The media connector type of the transceiver. + encoding (str): The serial encoding algorithm of the transceiver. + rate_identifier (str): The type of rate select functionality of the transceiver. + specifications (list[str]): The Ethernet, 10G Ethernet, ESCON, Infiniband, SONET, and other specifications supported by the transceiver. + fc_link_lengths (list[str]): The Fibre Channel distance capabilities supported by the transceiver. + fc_technology (list[str]): The Fibre Channel technologies supported by the transceiver. + cable_technology (list[str]): The SFP+ cable technology supported by the transceiver. + fc_transmission_media (list[str]): The Fibre Channel transmission media supported by the transceiver. + fc_speeds (str): The Fibre Channel speeds supported by the transceiver. Speeds are in units of 100 MBytes/sec, which correspond to GFC (Gb/s). + signaling_rate (str): The nominal signaling rate in MBd, rounded off to the nearest 100 MBd, or if greater than 25400 MBd, rounded off to the nearest 250 MBd. The value can be unspecified. + signaling_rate_max (str): The upper signaling rate limit at which the transceiver still meets its specifications, specified as a percentage above the nominal signaling rate. The value can be unspecified. + signaling_rate_min (str): The lower signaling rate limit at which the transceiver still meets its specifications, specified as a percentage below the nominal signaling rate. The value can be unspecified. + wavelength (str): Laser wavelength (for optical variants) at room temperature, in units of nm. For passive and active cable variants, the value is unspecified. + link_length (str): Link length and cable attenuation (for active or copper cables) for the specified transceiver. Values are comma-separated lists of fields and values, where each field is separated from its corresponding value by a colon. Valid fields include `Copper Cable Attenuation (12.9 GHz)`, `Copper Cable Attenuation (25.78 GHz)`, `Copper Cable`, `SMF`, `OM2`, `OM1`, `OM4`, and `OM3`. The unit for attenuation is dB, and the units for length are meters or kilometers. Unspecified fields are omitted. + vendor_name (str): The SFP vendor name. + vendor_oui (str): The SFP vendor IEEE company ID. + vendor_part_number (str): The part number provided by the SFP vendor. + vendor_revision (str): The revision level for the part number provided by the SFP vendor. + vendor_serial_number (str): The serial number provided by the SFP vendor. + vendor_date_code (str): The SFP vendor's manufacturing date code. The first six characters are the date in YYMMDD format, and the last two characters are the vendor specific lot code. The last two characters are optional. + temperature_thresholds (NetworkInterfacePortDetailsStaticTemperatureThresholds) + voltage_thresholds (NetworkInterfacePortDetailsStaticVoltageThresholds) + tx_bias_thresholds (NetworkInterfacePortDetailsStaticTxBiasThresholds) + tx_power_thresholds (NetworkInterfacePortDetailsStaticTxPowerThresholds) + rx_power_thresholds (NetworkInterfacePortDetailsStaticRxPowerThresholds) + """ + if identifier is not None: + self.identifier = identifier + if extended_identifier is not None: + self.extended_identifier = extended_identifier + if connector_type is not None: + self.connector_type = connector_type + if encoding is not None: + self.encoding = encoding + if rate_identifier is not None: + self.rate_identifier = rate_identifier + if specifications is not None: + self.specifications = specifications + if fc_link_lengths is not None: + self.fc_link_lengths = fc_link_lengths + if fc_technology is not None: + self.fc_technology = fc_technology + if cable_technology is not None: + self.cable_technology = cable_technology + if fc_transmission_media is not None: + self.fc_transmission_media = fc_transmission_media + if fc_speeds is not None: + self.fc_speeds = fc_speeds + if signaling_rate is not None: + self.signaling_rate = signaling_rate + if signaling_rate_max is not None: + self.signaling_rate_max = signaling_rate_max + if signaling_rate_min is not None: + self.signaling_rate_min = signaling_rate_min + if wavelength is not None: + self.wavelength = wavelength + if link_length is not None: + self.link_length = link_length + if vendor_name is not None: + self.vendor_name = vendor_name + if vendor_oui is not None: + self.vendor_oui = vendor_oui + if vendor_part_number is not None: + self.vendor_part_number = vendor_part_number + if vendor_revision is not None: + self.vendor_revision = vendor_revision + if vendor_serial_number is not None: + self.vendor_serial_number = vendor_serial_number + if vendor_date_code is not None: + self.vendor_date_code = vendor_date_code + if temperature_thresholds is not None: + self.temperature_thresholds = temperature_thresholds + if voltage_thresholds is not None: + self.voltage_thresholds = voltage_thresholds + if tx_bias_thresholds is not None: + self.tx_bias_thresholds = tx_bias_thresholds + if tx_power_thresholds is not None: + self.tx_power_thresholds = tx_power_thresholds + if rx_power_thresholds is not None: + self.rx_power_thresholds = rx_power_thresholds + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfacePortDetailsStatic`".format(key)) + if key == "vendor_name" and value is not None: + if len(value) > 16: + raise ValueError("Invalid value for `vendor_name`, length must be less than or equal to `16`") + if key == "vendor_oui" and value is not None: + if len(value) > 8: + raise ValueError("Invalid value for `vendor_oui`, length must be less than or equal to `8`") + if key == "vendor_part_number" and value is not None: + if len(value) > 16: + raise ValueError("Invalid value for `vendor_part_number`, length must be less than or equal to `16`") + if key == "vendor_revision" and value is not None: + if len(value) > 4: + raise ValueError("Invalid value for `vendor_revision`, length must be less than or equal to `4`") + if key == "vendor_serial_number" and value is not None: + if len(value) > 16: + raise ValueError("Invalid value for `vendor_serial_number`, length must be less than or equal to `16`") + if key == "vendor_date_code" and value is not None: + if len(value) > 8: + raise ValueError("Invalid value for `vendor_date_code`, length must be less than or equal to `8`") + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfacePortDetailsStatic`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfacePortDetailsStatic`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfacePortDetailsStatic`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(NetworkInterfacePortDetailsStatic, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, NetworkInterfacePortDetailsStatic): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/network_interface_port_details_static_rx_power_thresholds.py b/pypureclient/flasharray/FA_2_26/models/network_interface_port_details_static_rx_power_thresholds.py new file mode 100644 index 000000000..6a85403b5 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/network_interface_port_details_static_rx_power_thresholds.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class NetworkInterfacePortDetailsStaticRxPowerThresholds(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'alarm_low': 'float', + 'warn_low': 'float', + 'warn_high': 'float', + 'alarm_high': 'float' + } + + attribute_map = { + 'alarm_low': 'alarm_low', + 'warn_low': 'warn_low', + 'warn_high': 'warn_high', + 'alarm_high': 'alarm_high' + } + + required_args = { + } + + def __init__( + self, + alarm_low=None, # type: float + warn_low=None, # type: float + warn_high=None, # type: float + alarm_high=None, # type: float + ): + """ + Keyword args: + alarm_low (float): The alarm low threshold for Rx input power in mW. + warn_low (float): The warn low threshold for Rx input power in mW. + warn_high (float): The warn high threshold for Rx input power in mW. + alarm_high (float): The alarm high threshold for Rx input power in mW. + """ + if alarm_low is not None: + self.alarm_low = alarm_low + if warn_low is not None: + self.warn_low = warn_low + if warn_high is not None: + self.warn_high = warn_high + if alarm_high is not None: + self.alarm_high = alarm_high + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfacePortDetailsStaticRxPowerThresholds`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfacePortDetailsStaticRxPowerThresholds`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfacePortDetailsStaticRxPowerThresholds`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfacePortDetailsStaticRxPowerThresholds`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(NetworkInterfacePortDetailsStaticRxPowerThresholds, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, NetworkInterfacePortDetailsStaticRxPowerThresholds): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/network_interface_port_details_static_temperature_thresholds.py b/pypureclient/flasharray/FA_2_26/models/network_interface_port_details_static_temperature_thresholds.py new file mode 100644 index 000000000..f8ec8c115 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/network_interface_port_details_static_temperature_thresholds.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class NetworkInterfacePortDetailsStaticTemperatureThresholds(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'alarm_low': 'float', + 'warn_low': 'float', + 'warn_high': 'float', + 'alarm_high': 'float' + } + + attribute_map = { + 'alarm_low': 'alarm_low', + 'warn_low': 'warn_low', + 'warn_high': 'warn_high', + 'alarm_high': 'alarm_high' + } + + required_args = { + } + + def __init__( + self, + alarm_low=None, # type: float + warn_low=None, # type: float + warn_high=None, # type: float + alarm_high=None, # type: float + ): + """ + Keyword args: + alarm_low (float): The alarm low threshold for temperature in degrees Celsius. + warn_low (float): The warn low threshold for temperature in degrees Celsius. + warn_high (float): The warn high threshold for temperature in degrees Celsius. + alarm_high (float): The alarm high threshold for temperature in degrees Celsius. + """ + if alarm_low is not None: + self.alarm_low = alarm_low + if warn_low is not None: + self.warn_low = warn_low + if warn_high is not None: + self.warn_high = warn_high + if alarm_high is not None: + self.alarm_high = alarm_high + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfacePortDetailsStaticTemperatureThresholds`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfacePortDetailsStaticTemperatureThresholds`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfacePortDetailsStaticTemperatureThresholds`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfacePortDetailsStaticTemperatureThresholds`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(NetworkInterfacePortDetailsStaticTemperatureThresholds, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, NetworkInterfacePortDetailsStaticTemperatureThresholds): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/network_interface_port_details_static_tx_bias_thresholds.py b/pypureclient/flasharray/FA_2_26/models/network_interface_port_details_static_tx_bias_thresholds.py new file mode 100644 index 000000000..bbf1f34da --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/network_interface_port_details_static_tx_bias_thresholds.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class NetworkInterfacePortDetailsStaticTxBiasThresholds(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'alarm_low': 'float', + 'warn_low': 'float', + 'warn_high': 'float', + 'alarm_high': 'float' + } + + attribute_map = { + 'alarm_low': 'alarm_low', + 'warn_low': 'warn_low', + 'warn_high': 'warn_high', + 'alarm_high': 'alarm_high' + } + + required_args = { + } + + def __init__( + self, + alarm_low=None, # type: float + warn_low=None, # type: float + warn_high=None, # type: float + alarm_high=None, # type: float + ): + """ + Keyword args: + alarm_low (float): The alarm low threshold for Tx bias current in mA. + warn_low (float): The warn low threshold for Tx bias current in mA. + warn_high (float): The warn high threshold for Tx bias current in mA. + alarm_high (float): The alarm high threshold for Tx bias current in mA. + """ + if alarm_low is not None: + self.alarm_low = alarm_low + if warn_low is not None: + self.warn_low = warn_low + if warn_high is not None: + self.warn_high = warn_high + if alarm_high is not None: + self.alarm_high = alarm_high + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfacePortDetailsStaticTxBiasThresholds`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfacePortDetailsStaticTxBiasThresholds`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfacePortDetailsStaticTxBiasThresholds`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfacePortDetailsStaticTxBiasThresholds`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(NetworkInterfacePortDetailsStaticTxBiasThresholds, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, NetworkInterfacePortDetailsStaticTxBiasThresholds): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/network_interface_port_details_static_tx_power_thresholds.py b/pypureclient/flasharray/FA_2_26/models/network_interface_port_details_static_tx_power_thresholds.py new file mode 100644 index 000000000..54c818978 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/network_interface_port_details_static_tx_power_thresholds.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class NetworkInterfacePortDetailsStaticTxPowerThresholds(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'alarm_low': 'float', + 'warn_low': 'float', + 'warn_high': 'float', + 'alarm_high': 'float' + } + + attribute_map = { + 'alarm_low': 'alarm_low', + 'warn_low': 'warn_low', + 'warn_high': 'warn_high', + 'alarm_high': 'alarm_high' + } + + required_args = { + } + + def __init__( + self, + alarm_low=None, # type: float + warn_low=None, # type: float + warn_high=None, # type: float + alarm_high=None, # type: float + ): + """ + Keyword args: + alarm_low (float): The alarm low threshold for Tx output power in mW. + warn_low (float): The warn low threshold for Tx output power in mW. + warn_high (float): The warn high threshold for Tx output power in mW. + alarm_high (float): The alarm high threshold for Tx output power in mW. + """ + if alarm_low is not None: + self.alarm_low = alarm_low + if warn_low is not None: + self.warn_low = warn_low + if warn_high is not None: + self.warn_high = warn_high + if alarm_high is not None: + self.alarm_high = alarm_high + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfacePortDetailsStaticTxPowerThresholds`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfacePortDetailsStaticTxPowerThresholds`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfacePortDetailsStaticTxPowerThresholds`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfacePortDetailsStaticTxPowerThresholds`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(NetworkInterfacePortDetailsStaticTxPowerThresholds, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, NetworkInterfacePortDetailsStaticTxPowerThresholds): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/network_interface_port_details_static_voltage_thresholds.py b/pypureclient/flasharray/FA_2_26/models/network_interface_port_details_static_voltage_thresholds.py new file mode 100644 index 000000000..98f8f2245 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/network_interface_port_details_static_voltage_thresholds.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class NetworkInterfacePortDetailsStaticVoltageThresholds(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'alarm_low': 'float', + 'warn_low': 'float', + 'warn_high': 'float', + 'alarm_high': 'float' + } + + attribute_map = { + 'alarm_low': 'alarm_low', + 'warn_low': 'warn_low', + 'warn_high': 'warn_high', + 'alarm_high': 'alarm_high' + } + + required_args = { + } + + def __init__( + self, + alarm_low=None, # type: float + warn_low=None, # type: float + warn_high=None, # type: float + alarm_high=None, # type: float + ): + """ + Keyword args: + alarm_low (float): The alarm low threshold for supply voltage in volts. + warn_low (float): The warn low threshold for supply voltage in volts. + warn_high (float): The warn high threshold for supply voltage in volts. + alarm_high (float): The alarm high threshold for supply voltage in volts. + """ + if alarm_low is not None: + self.alarm_low = alarm_low + if warn_low is not None: + self.warn_low = warn_low + if warn_high is not None: + self.warn_high = warn_high + if alarm_high is not None: + self.alarm_high = alarm_high + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfacePortDetailsStaticVoltageThresholds`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfacePortDetailsStaticVoltageThresholds`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfacePortDetailsStaticVoltageThresholds`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfacePortDetailsStaticVoltageThresholds`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(NetworkInterfacePortDetailsStaticVoltageThresholds, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, NetworkInterfacePortDetailsStaticVoltageThresholds): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/network_interface_port_details_temperature.py b/pypureclient/flasharray/FA_2_26/models/network_interface_port_details_temperature.py new file mode 100644 index 000000000..289a22279 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/network_interface_port_details_temperature.py @@ -0,0 +1,141 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class NetworkInterfacePortDetailsTemperature(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'channel': 'int', + 'measurement': 'float', + 'status': 'str' + } + + attribute_map = { + 'channel': 'channel', + 'measurement': 'measurement', + 'status': 'status' + } + + required_args = { + } + + def __init__( + self, + channel=None, # type: int + measurement=None, # type: float + status=None, # type: str + ): + """ + Keyword args: + channel (int): The channel number if the diagnostic has an associated channel number. If not specified, defaults to `null`. + measurement (float): Temperature in degrees Celsius. + status (str): Indicates whether the measurement is outside the high alarm, low alarm, high warning, or low warning thresholds for temperature. Valid values are `alarm low`, `alarm high`, `warn low`, `warn high`, and `ok`. + """ + if channel is not None: + self.channel = channel + if measurement is not None: + self.measurement = measurement + if status is not None: + self.status = status + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfacePortDetailsTemperature`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfacePortDetailsTemperature`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfacePortDetailsTemperature`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfacePortDetailsTemperature`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(NetworkInterfacePortDetailsTemperature, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, NetworkInterfacePortDetailsTemperature): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/network_interface_port_details_tx_bias.py b/pypureclient/flasharray/FA_2_26/models/network_interface_port_details_tx_bias.py new file mode 100644 index 000000000..c6a4e8e05 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/network_interface_port_details_tx_bias.py @@ -0,0 +1,141 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class NetworkInterfacePortDetailsTxBias(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'channel': 'int', + 'measurement': 'float', + 'status': 'str' + } + + attribute_map = { + 'channel': 'channel', + 'measurement': 'measurement', + 'status': 'status' + } + + required_args = { + } + + def __init__( + self, + channel=None, # type: int + measurement=None, # type: float + status=None, # type: str + ): + """ + Keyword args: + channel (int): The channel number if the transceiver is a multilane transceiver. If not specified, defaults to `null`. + measurement (float): Tx bias current in mA. + status (str): Indicates whether the measurement is outside the high alarm, low alarm, high warning, or low warning thresholds for Tx bias current. Valid values are `alarm low`, `alarm high`, `warn low`, `warn high`, and `ok`. + """ + if channel is not None: + self.channel = channel + if measurement is not None: + self.measurement = measurement + if status is not None: + self.status = status + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfacePortDetailsTxBias`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfacePortDetailsTxBias`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfacePortDetailsTxBias`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfacePortDetailsTxBias`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(NetworkInterfacePortDetailsTxBias, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, NetworkInterfacePortDetailsTxBias): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/network_interface_port_details_tx_fault.py b/pypureclient/flasharray/FA_2_26/models/network_interface_port_details_tx_fault.py new file mode 100644 index 000000000..d06e235b9 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/network_interface_port_details_tx_fault.py @@ -0,0 +1,135 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class NetworkInterfacePortDetailsTxFault(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'channel': 'int', + 'flag': 'bool' + } + + attribute_map = { + 'channel': 'channel', + 'flag': 'flag' + } + + required_args = { + } + + def __init__( + self, + channel=None, # type: int + flag=None, # type: bool + ): + """ + Keyword args: + channel (int): The channel number if the transceiver is a multilane transceiver. If not specified, defaults to `null`. + flag (bool): A value of `true` indicates transmitter/laser fault. + """ + if channel is not None: + self.channel = channel + if flag is not None: + self.flag = flag + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfacePortDetailsTxFault`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfacePortDetailsTxFault`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfacePortDetailsTxFault`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfacePortDetailsTxFault`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(NetworkInterfacePortDetailsTxFault, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, NetworkInterfacePortDetailsTxFault): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/network_interface_port_details_tx_power.py b/pypureclient/flasharray/FA_2_26/models/network_interface_port_details_tx_power.py new file mode 100644 index 000000000..774b45701 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/network_interface_port_details_tx_power.py @@ -0,0 +1,141 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class NetworkInterfacePortDetailsTxPower(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'channel': 'int', + 'measurement': 'float', + 'status': 'str' + } + + attribute_map = { + 'channel': 'channel', + 'measurement': 'measurement', + 'status': 'status' + } + + required_args = { + } + + def __init__( + self, + channel=None, # type: int + measurement=None, # type: float + status=None, # type: str + ): + """ + Keyword args: + channel (int): The channel number if the transceiver is a multilane transceiver. If not specified, defaults to `null`. + measurement (float): Tx output power in mW. + status (str): Indicates whether the measurement is outside the high alarm, low alarm, high warning, or low warning thresholds for Tx output power. Valid values are `alarm low`, `alarm high`, `warn low`, `warn high`, and `ok`. + """ + if channel is not None: + self.channel = channel + if measurement is not None: + self.measurement = measurement + if status is not None: + self.status = status + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfacePortDetailsTxPower`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfacePortDetailsTxPower`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfacePortDetailsTxPower`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfacePortDetailsTxPower`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(NetworkInterfacePortDetailsTxPower, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, NetworkInterfacePortDetailsTxPower): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/network_interface_port_details_voltage.py b/pypureclient/flasharray/FA_2_26/models/network_interface_port_details_voltage.py new file mode 100644 index 000000000..a34a102be --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/network_interface_port_details_voltage.py @@ -0,0 +1,141 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class NetworkInterfacePortDetailsVoltage(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'channel': 'int', + 'measurement': 'float', + 'status': 'str' + } + + attribute_map = { + 'channel': 'channel', + 'measurement': 'measurement', + 'status': 'status' + } + + required_args = { + } + + def __init__( + self, + channel=None, # type: int + measurement=None, # type: float + status=None, # type: str + ): + """ + Keyword args: + channel (int): The channel number if the diagnostic has an associated channel number. If not specified, defaults to `null`. + measurement (float): Supply voltage in volts. + status (str): Indicates whether the measurement is outside the high alarm, low alarm, high warning, or low warning thresholds for supply voltage. Valid values are `alarm low`, `alarm high`, `warn low`, `warn high`, and `ok`. + """ + if channel is not None: + self.channel = channel + if measurement is not None: + self.measurement = measurement + if status is not None: + self.status = status + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfacePortDetailsVoltage`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfacePortDetailsVoltage`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfacePortDetailsVoltage`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfacePortDetailsVoltage`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(NetworkInterfacePortDetailsVoltage, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, NetworkInterfacePortDetailsVoltage): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/network_interface_post.py b/pypureclient/flasharray/FA_2_26/models/network_interface_post.py new file mode 100644 index 000000000..14a53e46c --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/network_interface_post.py @@ -0,0 +1,141 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class NetworkInterfacePost(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'name': 'str', + 'eth': 'NetworkinterfacepostEth', + 'services': 'list[str]' + } + + attribute_map = { + 'name': 'name', + 'eth': 'eth', + 'services': 'services' + } + + required_args = { + } + + def __init__( + self, + name=None, # type: str + eth=None, # type: models.NetworkinterfacepostEth + services=None, # type: List[str] + ): + """ + Keyword args: + name (str): A locally unique, system-generated name. The name cannot be modified. + eth (NetworkinterfacepostEth) + services (list[str]): The services provided by the specified network interface or Fibre Channel port. + """ + if name is not None: + self.name = name + if eth is not None: + self.eth = eth + if services is not None: + self.services = services + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfacePost`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfacePost`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfacePost`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfacePost`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(NetworkInterfacePost, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, NetworkInterfacePost): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/network_interface_response.py b/pypureclient/flasharray/FA_2_26/models/network_interface_response.py new file mode 100644 index 000000000..32a18fe83 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/network_interface_response.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class NetworkInterfaceResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'items': 'list[NetworkInterface]' + } + + attribute_map = { + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + items=None, # type: List[models.NetworkInterface] + ): + """ + Keyword args: + items (list[NetworkInterface]) + """ + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfaceResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfaceResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfaceResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfaceResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(NetworkInterfaceResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, NetworkInterfaceResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/network_interfaces_port_details.py b/pypureclient/flasharray/FA_2_26/models/network_interfaces_port_details.py new file mode 100644 index 000000000..0eb0bbf4e --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/network_interfaces_port_details.py @@ -0,0 +1,183 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class NetworkInterfacesPortDetails(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'name': 'str', + 'interface_type': 'str', + 'temperature': 'list[NetworkInterfacePortDetailsTemperature]', + 'voltage': 'list[NetworkInterfacePortDetailsVoltage]', + 'tx_bias': 'list[NetworkInterfacePortDetailsTxBias]', + 'tx_power': 'list[NetworkInterfacePortDetailsTxPower]', + 'rx_power': 'list[NetworkInterfacePortDetailsRxPower]', + 'tx_fault': 'list[NetworkInterfacePortDetailsTxFault]', + 'rx_los': 'list[NetworkInterfacePortDetailsRxLos]', + 'static': 'NetworkInterfacePortDetailsStatic' + } + + attribute_map = { + 'name': 'name', + 'interface_type': 'interface_type', + 'temperature': 'temperature', + 'voltage': 'voltage', + 'tx_bias': 'tx_bias', + 'tx_power': 'tx_power', + 'rx_power': 'rx_power', + 'tx_fault': 'tx_fault', + 'rx_los': 'rx_los', + 'static': 'static' + } + + required_args = { + } + + def __init__( + self, + name=None, # type: str + interface_type=None, # type: str + temperature=None, # type: List[models.NetworkInterfacePortDetailsTemperature] + voltage=None, # type: List[models.NetworkInterfacePortDetailsVoltage] + tx_bias=None, # type: List[models.NetworkInterfacePortDetailsTxBias] + tx_power=None, # type: List[models.NetworkInterfacePortDetailsTxPower] + rx_power=None, # type: List[models.NetworkInterfacePortDetailsRxPower] + tx_fault=None, # type: List[models.NetworkInterfacePortDetailsTxFault] + rx_los=None, # type: List[models.NetworkInterfacePortDetailsRxLos] + static=None, # type: models.NetworkInterfacePortDetailsStatic + ): + """ + Keyword args: + name (str): A locally unique, system-generated name. The name cannot be modified. + interface_type (str): The interface type. Valid values are `eth` and `fc`. + temperature (list[NetworkInterfacePortDetailsTemperature]): Displays real-time measurement of transceiver temperature and range. If the transceiver does not support digital diagnostic monitoring, the array is empty. + voltage (list[NetworkInterfacePortDetailsVoltage]): Displays real-time measurement of supply voltage and whether it is within range. If the transceiver does not support digital diagnostic monitoring, the array is empty. + tx_bias (list[NetworkInterfacePortDetailsTxBias]): Displays real-time measurement of Tx bias current and whether it is within range. For four-lane modules, the array contains a measurement and status for each channel. If the transceiver does not support digital diagnostic monitoring, the array is empty. + tx_power (list[NetworkInterfacePortDetailsTxPower]): Displays real-time measurement of Tx output power and whether it is within range. For four-lane modules, the array contains a measurement and status for each channel. If the transceiver does not support digital diagnostic monitoring, the array is empty. + rx_power (list[NetworkInterfacePortDetailsRxPower]): Displays real-time measurement of Rx input power and whether it is within range. For four-lane modules, the array contains a measurement and status for each channel. If the transceiver does not support digital diagnostic monitoring, the array is empty. + tx_fault (list[NetworkInterfacePortDetailsTxFault]): Displays status flags for Tx Fault. A value of `true` indicates transmitter/laser fault. For four-lane modules, the array contains a flag for each channel. If the transceiver does not support digital diagnostic monitoring, the array is empty. + rx_los (list[NetworkInterfacePortDetailsRxLos]): Displays status flags for Rx LOS. A value of `true` indicates Rx Loss-of-Signal. For four-lane modules, the array contains a flag for each channel. If the transceiver does not support digital diagnostic monitoring, the array is empty. + static (NetworkInterfacePortDetailsStatic) + """ + if name is not None: + self.name = name + if interface_type is not None: + self.interface_type = interface_type + if temperature is not None: + self.temperature = temperature + if voltage is not None: + self.voltage = voltage + if tx_bias is not None: + self.tx_bias = tx_bias + if tx_power is not None: + self.tx_power = tx_power + if rx_power is not None: + self.rx_power = rx_power + if tx_fault is not None: + self.tx_fault = tx_fault + if rx_los is not None: + self.rx_los = rx_los + if static is not None: + self.static = static + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfacesPortDetails`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfacesPortDetails`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfacesPortDetails`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfacesPortDetails`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(NetworkInterfacesPortDetails, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, NetworkInterfacesPortDetails): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/network_interfaces_port_details_get_response.py b/pypureclient/flasharray/FA_2_26/models/network_interfaces_port_details_get_response.py new file mode 100644 index 000000000..689619c60 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/network_interfaces_port_details_get_response.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class NetworkInterfacesPortDetailsGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[NetworkInterfacesPortDetails]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.NetworkInterfacesPortDetails] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[NetworkInterfacesPortDetails]): A list of port details objects. + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfacesPortDetailsGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfacesPortDetailsGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfacesPortDetailsGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfacesPortDetailsGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(NetworkInterfacesPortDetailsGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, NetworkInterfacesPortDetailsGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/network_interfaces_port_details_response.py b/pypureclient/flasharray/FA_2_26/models/network_interfaces_port_details_response.py new file mode 100644 index 000000000..833c37789 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/network_interfaces_port_details_response.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class NetworkInterfacesPortDetailsResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'items': 'list[NetworkInterfacesPortDetails]' + } + + attribute_map = { + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + items=None, # type: List[models.NetworkInterfacesPortDetails] + ): + """ + Keyword args: + items (list[NetworkInterfacesPortDetails]): A list of port details objects. + """ + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfacesPortDetailsResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfacesPortDetailsResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfacesPortDetailsResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkInterfacesPortDetailsResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(NetworkInterfacesPortDetailsResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, NetworkInterfacesPortDetailsResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/networkinterfacepatch_eth.py b/pypureclient/flasharray/FA_2_26/models/networkinterfacepatch_eth.py new file mode 100644 index 000000000..7146d5e46 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/networkinterfacepatch_eth.py @@ -0,0 +1,171 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class NetworkinterfacepatchEth(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'add_subinterfaces': 'list[FixedReferenceNoId]', + 'address': 'str', + 'gateway': 'str', + 'mtu': 'int', + 'netmask': 'str', + 'remove_subinterfaces': 'list[FixedReferenceNoId]', + 'subinterfaces': 'list[FixedReferenceNoId]', + 'subnet': 'ReferenceNoId' + } + + attribute_map = { + 'add_subinterfaces': 'add_subinterfaces', + 'address': 'address', + 'gateway': 'gateway', + 'mtu': 'mtu', + 'netmask': 'netmask', + 'remove_subinterfaces': 'remove_subinterfaces', + 'subinterfaces': 'subinterfaces', + 'subnet': 'subnet' + } + + required_args = { + } + + def __init__( + self, + add_subinterfaces=None, # type: List[models.FixedReferenceNoId] + address=None, # type: str + gateway=None, # type: str + mtu=None, # type: int + netmask=None, # type: str + remove_subinterfaces=None, # type: List[models.FixedReferenceNoId] + subinterfaces=None, # type: List[models.FixedReferenceNoId] + subnet=None, # type: models.ReferenceNoId + ): + """ + Keyword args: + add_subinterfaces (list[FixedReferenceNoId]): Child devices to be added to the specified bond interface. + address (str): The IPv4 or IPv6 address to be associated with the specified network interface. + gateway (str): The IPv4 or IPv6 address of the gateway through which the specified network interface is to communicate with the network. + mtu (int): Maximum message transfer unit (packet) size for the network interface in bytes. MTU setting cannot exceed the MTU of the corresponding physical interface. + netmask (str): Netmask of the specified network interface that, when combined with the address of the interface, determines the network address of the interface. + remove_subinterfaces (list[FixedReferenceNoId]): Child devices to be removed from the specified bond interface. + subinterfaces (list[FixedReferenceNoId]): Child devices to be added to the specified bond interface. + subnet (ReferenceNoId): Subnet that is associated with the specified network interface. + """ + if add_subinterfaces is not None: + self.add_subinterfaces = add_subinterfaces + if address is not None: + self.address = address + if gateway is not None: + self.gateway = gateway + if mtu is not None: + self.mtu = mtu + if netmask is not None: + self.netmask = netmask + if remove_subinterfaces is not None: + self.remove_subinterfaces = remove_subinterfaces + if subinterfaces is not None: + self.subinterfaces = subinterfaces + if subnet is not None: + self.subnet = subnet + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkinterfacepatchEth`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkinterfacepatchEth`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkinterfacepatchEth`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkinterfacepatchEth`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(NetworkinterfacepatchEth, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, NetworkinterfacepatchEth): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/networkinterfacepost_eth.py b/pypureclient/flasharray/FA_2_26/models/networkinterfacepost_eth.py new file mode 100644 index 000000000..1dbea7022 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/networkinterfacepost_eth.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class NetworkinterfacepostEth(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'address': 'str', + 'subinterfaces': 'list[FixedReferenceNoId]', + 'subnet': 'ReferenceNoId', + 'subtype': 'str' + } + + attribute_map = { + 'address': 'address', + 'subinterfaces': 'subinterfaces', + 'subnet': 'subnet', + 'subtype': 'subtype' + } + + required_args = { + } + + def __init__( + self, + address=None, # type: str + subinterfaces=None, # type: List[models.FixedReferenceNoId] + subnet=None, # type: models.ReferenceNoId + subtype=None, # type: str + ): + """ + Keyword args: + address (str): The IPv4 or IPv6 address to be associated with the specified network interface. + subinterfaces (list[FixedReferenceNoId]): List of network interfaces configured to be a subinterface of the specified network interface. + subnet (ReferenceNoId): Subnet that is associated with the specified network interface. + subtype (str): The subtype of the specified network interface. Only interfaces of subtype `vif` and `lacp_bond` can be created. Configurable on POST only. Valid values are `failover_bond`, `lacp_bond`, `physical`, and `vif`. If the subtype is `vif`, the services parameter must not be set. + """ + if address is not None: + self.address = address + if subinterfaces is not None: + self.subinterfaces = subinterfaces + if subnet is not None: + self.subnet = subnet + if subtype is not None: + self.subtype = subtype + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkinterfacepostEth`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkinterfacepostEth`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkinterfacepostEth`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NetworkinterfacepostEth`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(NetworkinterfacepostEth, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, NetworkinterfacepostEth): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/new_name.py b/pypureclient/flasharray/FA_2_26/models/new_name.py new file mode 100644 index 000000000..4148244b7 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/new_name.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class NewName(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'name': 'str' + } + + attribute_map = { + 'name': 'name' + } + + required_args = { + } + + def __init__( + self, + name=None, # type: str + ): + """ + Keyword args: + name (str): The new name for the resource. + """ + if name is not None: + self.name = name + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NewName`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NewName`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NewName`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `NewName`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(NewName, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, NewName): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/oauth_token_response.py b/pypureclient/flasharray/FA_2_26/models/oauth_token_response.py new file mode 100644 index 000000000..fe0511208 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/oauth_token_response.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class OauthTokenResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'access_token': 'str', + 'issued_token_type': 'str', + 'token_type': 'str', + 'expires_in': 'int' + } + + attribute_map = { + 'access_token': 'access_token', + 'issued_token_type': 'issued_token_type', + 'token_type': 'token_type', + 'expires_in': 'expires_in' + } + + required_args = { + } + + def __init__( + self, + access_token=None, # type: str + issued_token_type=None, # type: str + token_type=None, # type: str + expires_in=None, # type: int + ): + """ + Keyword args: + access_token (str): The serialized OAuth 2.0 Bearer token used to perform authenticated requests. The access token must be added to the Authorization header of all API calls. + issued_token_type (str): The type of token that is issued. The Pure Storage REST API supports OAuth 2.0 access tokens. + token_type (str): Indicates how the API client can use the access token issued. The Pure Storage REST API supports the `Bearer` token. + expires_in (int): The duration after which the access token will expire. Measured in seconds. This differs from other duration fields that are expressed in milliseconds. + """ + if access_token is not None: + self.access_token = access_token + if issued_token_type is not None: + self.issued_token_type = issued_token_type + if token_type is not None: + self.token_type = token_type + if expires_in is not None: + self.expires_in = expires_in + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `OauthTokenResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `OauthTokenResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `OauthTokenResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `OauthTokenResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(OauthTokenResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, OauthTokenResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/offload.py b/pypureclient/flasharray/FA_2_26/models/offload.py new file mode 100644 index 000000000..a57285e8f --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/offload.py @@ -0,0 +1,177 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class Offload(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'azure': 'OffloadAzure', + 'google_cloud': 'OffloadGoogleCloud', + 'nfs': 'OffloadNfs', + 's3': 'OffloadS3', + 'name': 'str', + 'protocol': 'str', + 'target_id': 'str', + 'space': 'Space', + 'status': 'str' + } + + attribute_map = { + 'azure': 'azure', + 'google_cloud': 'google-cloud', + 'nfs': 'nfs', + 's3': 's3', + 'name': 'name', + 'protocol': 'protocol', + 'target_id': 'target_id', + 'space': 'space', + 'status': 'status' + } + + required_args = { + } + + def __init__( + self, + azure=None, # type: models.OffloadAzure + google_cloud=None, # type: models.OffloadGoogleCloud + nfs=None, # type: models.OffloadNfs + s3=None, # type: models.OffloadS3 + name=None, # type: str + protocol=None, # type: str + target_id=None, # type: str + space=None, # type: models.Space + status=None, # type: str + ): + """ + Keyword args: + azure (OffloadAzure): Microsoft Azure Blob storage settings. + google_cloud (OffloadGoogleCloud): Google Cloud Storage settings. + nfs (OffloadNfs): NFS settings. + s3 (OffloadS3): S3 settings. + name (str): A user-specified name. The name must be locally unique and can be changed. + protocol (str): Type of offload. Valid values include `azure`, `google-cloud`, `nfs`, and `s3`. + target_id (str): Unique ID for the offload target. When multiple connections to one offload target are created, they each have distinct IDs but share the same `target_id`. + space (Space) + status (str): Offload status. Valid values are `connecting`, `connected`, `disconnecting`, `not connected`, and `scanning`. + """ + if azure is not None: + self.azure = azure + if google_cloud is not None: + self.google_cloud = google_cloud + if nfs is not None: + self.nfs = nfs + if s3 is not None: + self.s3 = s3 + if name is not None: + self.name = name + if protocol is not None: + self.protocol = protocol + if target_id is not None: + self.target_id = target_id + if space is not None: + self.space = space + if status is not None: + self.status = status + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Offload`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Offload`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Offload`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Offload`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(Offload, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, Offload): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/offload_azure.py b/pypureclient/flasharray/FA_2_26/models/offload_azure.py new file mode 100644 index 000000000..f5c803217 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/offload_azure.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class OffloadAzure(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'container_name': 'str', + 'account_name': 'str', + 'secret_access_key': 'str', + 'profile': 'str' + } + + attribute_map = { + 'container_name': 'container_name', + 'account_name': 'account_name', + 'secret_access_key': 'secret_access_key', + 'profile': 'profile' + } + + required_args = { + } + + def __init__( + self, + container_name=None, # type: str + account_name=None, # type: str + secret_access_key=None, # type: str + profile=None, # type: str + ): + """ + Keyword args: + container_name (str): The name of the container in the Azure Blob storage account to where the data will be offloaded. The name must be a valid DNS name. If not specified, defaults to `offload`. + account_name (str): The name of the existing Azure Blob storage account. + secret_access_key (str): The secret access key that goes with the account name (`account_name`) of the Azure Blob storage account. The secret access key is only accepted when creating the connection between the array and the Azure Blob storage account. The `account_name` and `container_name`, and `secret_access_key` parameters must be set together. + profile (str): The offload target profile that will be selected for this target. This option allows more granular configuration for the target on top of the `protocol` parameter. Values include `azure`. + """ + if container_name is not None: + self.container_name = container_name + if account_name is not None: + self.account_name = account_name + if secret_access_key is not None: + self.secret_access_key = secret_access_key + if profile is not None: + self.profile = profile + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `OffloadAzure`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `OffloadAzure`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `OffloadAzure`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `OffloadAzure`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(OffloadAzure, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, OffloadAzure): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/offload_get_response.py b/pypureclient/flasharray/FA_2_26/models/offload_get_response.py new file mode 100644 index 000000000..9f151f4d2 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/offload_get_response.py @@ -0,0 +1,153 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class OffloadGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[Offload]', + 'total': 'list[Offload]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items', + 'total': 'total' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.Offload] + total=None, # type: List[models.Offload] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[Offload]) + total (list[Offload]): The aggregate value of all items after filtering. Where meaningful, the average value is displayed instead. If applicable, the values are displayed for each field. + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + if total is not None: + self.total = total + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `OffloadGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `OffloadGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `OffloadGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `OffloadGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(OffloadGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, OffloadGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/offload_google_cloud.py b/pypureclient/flasharray/FA_2_26/models/offload_google_cloud.py new file mode 100644 index 000000000..49e58e460 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/offload_google_cloud.py @@ -0,0 +1,153 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class OffloadGoogleCloud(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'access_key_id': 'str', + 'bucket': 'str', + 'secret_access_key': 'str', + 'auth_region': 'str', + 'profile': 'str' + } + + attribute_map = { + 'access_key_id': 'access_key_id', + 'bucket': 'bucket', + 'secret_access_key': 'secret_access_key', + 'auth_region': 'auth_region', + 'profile': 'profile' + } + + required_args = { + } + + def __init__( + self, + access_key_id=None, # type: str + bucket=None, # type: str + secret_access_key=None, # type: str + auth_region=None, # type: str + profile=None, # type: str + ): + """ + Keyword args: + access_key_id (str): The access key ID of the Google Cloud account used to create a connection between the array and a Google Cloud offload target. The access key ID is 24 characters in length and is only accepted when creating the connection between the array and the Google Cloud offload target. The `access_key_id`, `secret_access_key`, and `bucket` parameters must be set together. + bucket (str): The name of the Google Cloud Storage bucket to which the data will be offloaded. Grant basic read and write access permissions to the bucket and verify that the bucket is empty of all objects. The `access_key_id`, `secret_access_key`, and `bucket` parameters must be set together. + secret_access_key (str): The secret access key that goes with the access key ID of the Google Cloud account. The secret access key is 40 characters in length is only accepted when creating the connection between the array and the Google Cloud offload target. The `access_key_id`, `secret_access_key`, and `bucket` parameters must be set together. + auth_region (str): The region that will be used for initial authentication request. This parameter is optional and should be used only when region autodetection fails. + profile (str): The offload target profile that will be selected for this target. This option allows more granular configuration for the target on top of the `protocol` parameter. Values include `gcp`. + """ + if access_key_id is not None: + self.access_key_id = access_key_id + if bucket is not None: + self.bucket = bucket + if secret_access_key is not None: + self.secret_access_key = secret_access_key + if auth_region is not None: + self.auth_region = auth_region + if profile is not None: + self.profile = profile + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `OffloadGoogleCloud`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `OffloadGoogleCloud`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `OffloadGoogleCloud`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `OffloadGoogleCloud`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(OffloadGoogleCloud, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, OffloadGoogleCloud): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/offload_nfs.py b/pypureclient/flasharray/FA_2_26/models/offload_nfs.py new file mode 100644 index 000000000..5d686f97e --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/offload_nfs.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class OffloadNfs(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'address': 'str', + 'mount_options': 'str', + 'mount_point': 'str', + 'profile': 'str' + } + + attribute_map = { + 'address': 'address', + 'mount_options': 'mount_options', + 'mount_point': 'mount_point', + 'profile': 'profile' + } + + required_args = { + } + + def __init__( + self, + address=None, # type: str + mount_options=None, # type: str + mount_point=None, # type: str + profile=None, # type: str + ): + """ + Keyword args: + address (str): The hostname or IP address of the NFS server to where the data will be offloaded. An array can be connected to one offload target at a time, while multiple arrays can be connected to the same offload target. If the protection group is in a stretched pod, for high availability, connect both arrays in the stretched pod to the offload target. + mount_options (str): The custom mount options on the NFS server. Enter multiple mount options in comma-separated format. Valid values include `port`, `rsize`, `wsize`, `nfsvers`, and `tcp` or `udp`. These mount options are common to all NFS file systems. + mount_point (str): The mount point of the NFS export on the NFS server. For example, `/mnt`. The `access_key_id`, `secret_access_key`, and `bucket` parameters must be set together. + profile (str): The offload target profile that will be selected for this target. This option allows more granular configuration for the target on top of the `protocol` parameter. Values include `nfs`, and `nfs-flashblade`. + """ + if address is not None: + self.address = address + if mount_options is not None: + self.mount_options = mount_options + if mount_point is not None: + self.mount_point = mount_point + if profile is not None: + self.profile = profile + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `OffloadNfs`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `OffloadNfs`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `OffloadNfs`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `OffloadNfs`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(OffloadNfs, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, OffloadNfs): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/offload_post.py b/pypureclient/flasharray/FA_2_26/models/offload_post.py new file mode 100644 index 000000000..576e85838 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/offload_post.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class OffloadPost(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'azure': 'OffloadAzure', + 'google_cloud': 'OffloadGoogleCloud', + 'nfs': 'OffloadNfs', + 's3': 'OffloadS3' + } + + attribute_map = { + 'azure': 'azure', + 'google_cloud': 'google-cloud', + 'nfs': 'nfs', + 's3': 's3' + } + + required_args = { + } + + def __init__( + self, + azure=None, # type: models.OffloadAzure + google_cloud=None, # type: models.OffloadGoogleCloud + nfs=None, # type: models.OffloadNfs + s3=None, # type: models.OffloadS3 + ): + """ + Keyword args: + azure (OffloadAzure): Microsoft Azure Blob storage settings. + google_cloud (OffloadGoogleCloud): Google Cloud Storage settings. + nfs (OffloadNfs): NFS settings. + s3 (OffloadS3): S3 settings. + """ + if azure is not None: + self.azure = azure + if google_cloud is not None: + self.google_cloud = google_cloud + if nfs is not None: + self.nfs = nfs + if s3 is not None: + self.s3 = s3 + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `OffloadPost`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `OffloadPost`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `OffloadPost`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `OffloadPost`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(OffloadPost, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, OffloadPost): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/offload_response.py b/pypureclient/flasharray/FA_2_26/models/offload_response.py new file mode 100644 index 000000000..74a744f7c --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/offload_response.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class OffloadResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'items': 'list[Offload]' + } + + attribute_map = { + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + items=None, # type: List[models.Offload] + ): + """ + Keyword args: + items (list[Offload]) + """ + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `OffloadResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `OffloadResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `OffloadResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `OffloadResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(OffloadResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, OffloadResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/offload_s3.py b/pypureclient/flasharray/FA_2_26/models/offload_s3.py new file mode 100644 index 000000000..e04433bd2 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/offload_s3.py @@ -0,0 +1,165 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class OffloadS3(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'access_key_id': 'str', + 'bucket': 'str', + 'placement_strategy': 'str', + 'secret_access_key': 'str', + 'uri': 'str', + 'auth_region': 'str', + 'profile': 'str' + } + + attribute_map = { + 'access_key_id': 'access_key_id', + 'bucket': 'bucket', + 'placement_strategy': 'placement_strategy', + 'secret_access_key': 'secret_access_key', + 'uri': 'uri', + 'auth_region': 'auth_region', + 'profile': 'profile' + } + + required_args = { + } + + def __init__( + self, + access_key_id=None, # type: str + bucket=None, # type: str + placement_strategy=None, # type: str + secret_access_key=None, # type: str + uri=None, # type: str + auth_region=None, # type: str + profile=None, # type: str + ): + """ + Keyword args: + access_key_id (str): The access key ID of the AWS account used to create a connection between the array and an Amazon S3 offload target. The access key ID is 20 characters in length and is only accepted when creating the connection between the array and the S3 offload target. The `access_key_id`, `secret_access_key`, and `bucket` parameters must be set together. + bucket (str): The name of the Amazon S3 bucket to where the data will be offloaded. Grant basic read and write ACL permissions to the bucket, and enable default (server-side) encryption for the bucket. Also verify that the bucket is empty of all objects and does not have any lifecycle policies. The `access_key_id`, `secret_access_key`, and `bucket` parameters must be set together. + placement_strategy (str): The storage placement strategy used for the dynamic placement of data in an Amazon S3 offload target. Valid values are `aws-intelligent-tiering`, `aws-standard-class`, and `retention-based`. If set to `aws-intelligent-tiering`, data is stored in the Amazon S3 INTELLIGENT_TIERING storage class regardless of the retention period. If set to `aws-standard-access`, the data is stored in the Amazon S3 STANDARD storage class regardless of the retention period. If set to `retention-based`, the data for protection groups with longer retention periods is placed in the Amazon S3 STANDARD_IA (infrequently accessed, more cost-effective) storage class. All other data is placed in the STANDARD storage class. When the array is initially connected to an S3 offload target, `placement_strategy` is automatically set to `retention-based`. The `placement_strategy` or `uri` parameter is required, but they cannot be set together. + secret_access_key (str): The secret access key that goes with the access key ID (`access_key_id`) of the AWS account. The secret access key is 40 characters in length is only accepted when creating the connection between the array and the S3 offload target. The `access_key_id`, `secret_access_key`, and `bucket` parameters must be set together. + uri (str): The URI used to create a connection between the array and a non-AWS S3 offload target. Storage placement strategies are not supported for non-AWS S3 offload targets. Both the HTTP and HTTPS protocols are allowed. + auth_region (str): The region that will be used for initial authentication request. This parameter is optional and should be used only when region autodetection fails. + profile (str): The offload target profile that will be selected for this target. This option allows more granular configuration for the target on top of the `protocol` parameter. Values include `s3-aws`, `s3-flashblade`, `s3-scality-ring`, `s3-wasabi-pay-as-you-go`, `s3-wasabi-rcs`, and `s3-other`. + """ + if access_key_id is not None: + self.access_key_id = access_key_id + if bucket is not None: + self.bucket = bucket + if placement_strategy is not None: + self.placement_strategy = placement_strategy + if secret_access_key is not None: + self.secret_access_key = secret_access_key + if uri is not None: + self.uri = uri + if auth_region is not None: + self.auth_region = auth_region + if profile is not None: + self.profile = profile + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `OffloadS3`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `OffloadS3`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `OffloadS3`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `OffloadS3`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(OffloadS3, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, OffloadS3): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/override_check.py b/pypureclient/flasharray/FA_2_26/models/override_check.py new file mode 100644 index 000000000..baa97dd61 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/override_check.py @@ -0,0 +1,141 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class OverrideCheck(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'name': 'str', + 'args': 'str', + 'persistent': 'bool' + } + + attribute_map = { + 'name': 'name', + 'args': 'args', + 'persistent': 'persistent' + } + + required_args = { + } + + def __init__( + self, + name=None, # type: str + args=None, # type: str + persistent=None, # type: bool + ): + """ + Keyword args: + name (str): The name of the upgrade check to be overridden so the software upgrade can continue if the check failed or is anticipated to fail during the upgrade process. Overriding the check forces the system to ignore the check failure and continue with the upgrade. If the check includes more specific checks that failed or are anticipated to fail, set them using the `args` parameter. For example, the HostIOCheck check may include a list of hosts that have failed or are anticipated to fail the upgrade check. + args (str): The name of the specific check within the override check to ignore so that the system can continue with the software upgrade. The `name` parameter of the override check must be specified with the `args` parameter. For example, if the HostIOCheck check fails on hosts host01 and host02, the system displays a list of these host names in the failed check. To override the HostIOCheck checks for host01 and host02, set `name=HostIOCheck`, and set `args=host01,host02`. Enter multiple `args` in comma-separated format. Note that not all checks have `args` values. + persistent (bool): If set to `true`, the system always ignores the failure of the specified upgrade check and continues with the upgrade process. If set to `false`, the system ignores the failure of the specified upgrade check until the upgrade check finishes and the upgrade process is continued. For example, the `continue` command is successfully issued in an `interactive` mode, or the first upgrade check step successfully finishes in a `one-click` mode. + """ + if name is not None: + self.name = name + if args is not None: + self.args = args + if persistent is not None: + self.persistent = persistent + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `OverrideCheck`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `OverrideCheck`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `OverrideCheck`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `OverrideCheck`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(OverrideCheck, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, OverrideCheck): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/page_info.py b/pypureclient/flasharray/FA_2_26/models/page_info.py new file mode 100644 index 000000000..98e3f669a --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/page_info.py @@ -0,0 +1,141 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class PageInfo(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PageInfo`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PageInfo`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PageInfo`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PageInfo`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(PageInfo, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, PageInfo): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/performance.py b/pypureclient/flasharray/FA_2_26/models/performance.py new file mode 100644 index 000000000..74276e1c6 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/performance.py @@ -0,0 +1,365 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class Performance(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'bytes_per_mirrored_write': 'int', + 'bytes_per_op': 'int', + 'bytes_per_read': 'int', + 'bytes_per_write': 'int', + 'mirrored_write_bytes_per_sec': 'int', + 'mirrored_writes_per_sec': 'int', + 'qos_rate_limit_usec_per_mirrored_write_op': 'int', + 'qos_rate_limit_usec_per_read_op': 'int', + 'qos_rate_limit_usec_per_write_op': 'int', + 'queue_usec_per_mirrored_write_op': 'int', + 'queue_usec_per_read_op': 'int', + 'queue_usec_per_write_op': 'int', + 'read_bytes_per_sec': 'int', + 'reads_per_sec': 'int', + 'san_usec_per_mirrored_write_op': 'int', + 'san_usec_per_read_op': 'int', + 'san_usec_per_write_op': 'int', + 'service_usec_per_mirrored_write_op': 'int', + 'service_usec_per_read_op': 'int', + 'service_usec_per_write_op': 'int', + 'time': 'int', + 'usec_per_mirrored_write_op': 'int', + 'usec_per_read_op': 'int', + 'usec_per_write_op': 'int', + 'write_bytes_per_sec': 'int', + 'writes_per_sec': 'int', + 'service_usec_per_read_op_cache_reduction': 'float' + } + + attribute_map = { + 'bytes_per_mirrored_write': 'bytes_per_mirrored_write', + 'bytes_per_op': 'bytes_per_op', + 'bytes_per_read': 'bytes_per_read', + 'bytes_per_write': 'bytes_per_write', + 'mirrored_write_bytes_per_sec': 'mirrored_write_bytes_per_sec', + 'mirrored_writes_per_sec': 'mirrored_writes_per_sec', + 'qos_rate_limit_usec_per_mirrored_write_op': 'qos_rate_limit_usec_per_mirrored_write_op', + 'qos_rate_limit_usec_per_read_op': 'qos_rate_limit_usec_per_read_op', + 'qos_rate_limit_usec_per_write_op': 'qos_rate_limit_usec_per_write_op', + 'queue_usec_per_mirrored_write_op': 'queue_usec_per_mirrored_write_op', + 'queue_usec_per_read_op': 'queue_usec_per_read_op', + 'queue_usec_per_write_op': 'queue_usec_per_write_op', + 'read_bytes_per_sec': 'read_bytes_per_sec', + 'reads_per_sec': 'reads_per_sec', + 'san_usec_per_mirrored_write_op': 'san_usec_per_mirrored_write_op', + 'san_usec_per_read_op': 'san_usec_per_read_op', + 'san_usec_per_write_op': 'san_usec_per_write_op', + 'service_usec_per_mirrored_write_op': 'service_usec_per_mirrored_write_op', + 'service_usec_per_read_op': 'service_usec_per_read_op', + 'service_usec_per_write_op': 'service_usec_per_write_op', + 'time': 'time', + 'usec_per_mirrored_write_op': 'usec_per_mirrored_write_op', + 'usec_per_read_op': 'usec_per_read_op', + 'usec_per_write_op': 'usec_per_write_op', + 'write_bytes_per_sec': 'write_bytes_per_sec', + 'writes_per_sec': 'writes_per_sec', + 'service_usec_per_read_op_cache_reduction': 'service_usec_per_read_op_cache_reduction' + } + + required_args = { + } + + def __init__( + self, + bytes_per_mirrored_write=None, # type: int + bytes_per_op=None, # type: int + bytes_per_read=None, # type: int + bytes_per_write=None, # type: int + mirrored_write_bytes_per_sec=None, # type: int + mirrored_writes_per_sec=None, # type: int + qos_rate_limit_usec_per_mirrored_write_op=None, # type: int + qos_rate_limit_usec_per_read_op=None, # type: int + qos_rate_limit_usec_per_write_op=None, # type: int + queue_usec_per_mirrored_write_op=None, # type: int + queue_usec_per_read_op=None, # type: int + queue_usec_per_write_op=None, # type: int + read_bytes_per_sec=None, # type: int + reads_per_sec=None, # type: int + san_usec_per_mirrored_write_op=None, # type: int + san_usec_per_read_op=None, # type: int + san_usec_per_write_op=None, # type: int + service_usec_per_mirrored_write_op=None, # type: int + service_usec_per_read_op=None, # type: int + service_usec_per_write_op=None, # type: int + time=None, # type: int + usec_per_mirrored_write_op=None, # type: int + usec_per_read_op=None, # type: int + usec_per_write_op=None, # type: int + write_bytes_per_sec=None, # type: int + writes_per_sec=None, # type: int + service_usec_per_read_op_cache_reduction=None, # type: float + ): + """ + Keyword args: + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. + bytes_per_op (int): The average I/O size for both read and write (all) operations. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. + mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. + mirrored_writes_per_sec (int): The number of mirrored writes per second. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. + read_bytes_per_sec (int): The number of bytes read per second. + reads_per_sec (int): The number of read requests processed per second. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + write_bytes_per_sec (int): The number of bytes written per second. + writes_per_sec (int): The number of write requests processed per second. + service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. + """ + if bytes_per_mirrored_write is not None: + self.bytes_per_mirrored_write = bytes_per_mirrored_write + if bytes_per_op is not None: + self.bytes_per_op = bytes_per_op + if bytes_per_read is not None: + self.bytes_per_read = bytes_per_read + if bytes_per_write is not None: + self.bytes_per_write = bytes_per_write + if mirrored_write_bytes_per_sec is not None: + self.mirrored_write_bytes_per_sec = mirrored_write_bytes_per_sec + if mirrored_writes_per_sec is not None: + self.mirrored_writes_per_sec = mirrored_writes_per_sec + if qos_rate_limit_usec_per_mirrored_write_op is not None: + self.qos_rate_limit_usec_per_mirrored_write_op = qos_rate_limit_usec_per_mirrored_write_op + if qos_rate_limit_usec_per_read_op is not None: + self.qos_rate_limit_usec_per_read_op = qos_rate_limit_usec_per_read_op + if qos_rate_limit_usec_per_write_op is not None: + self.qos_rate_limit_usec_per_write_op = qos_rate_limit_usec_per_write_op + if queue_usec_per_mirrored_write_op is not None: + self.queue_usec_per_mirrored_write_op = queue_usec_per_mirrored_write_op + if queue_usec_per_read_op is not None: + self.queue_usec_per_read_op = queue_usec_per_read_op + if queue_usec_per_write_op is not None: + self.queue_usec_per_write_op = queue_usec_per_write_op + if read_bytes_per_sec is not None: + self.read_bytes_per_sec = read_bytes_per_sec + if reads_per_sec is not None: + self.reads_per_sec = reads_per_sec + if san_usec_per_mirrored_write_op is not None: + self.san_usec_per_mirrored_write_op = san_usec_per_mirrored_write_op + if san_usec_per_read_op is not None: + self.san_usec_per_read_op = san_usec_per_read_op + if san_usec_per_write_op is not None: + self.san_usec_per_write_op = san_usec_per_write_op + if service_usec_per_mirrored_write_op is not None: + self.service_usec_per_mirrored_write_op = service_usec_per_mirrored_write_op + if service_usec_per_read_op is not None: + self.service_usec_per_read_op = service_usec_per_read_op + if service_usec_per_write_op is not None: + self.service_usec_per_write_op = service_usec_per_write_op + if time is not None: + self.time = time + if usec_per_mirrored_write_op is not None: + self.usec_per_mirrored_write_op = usec_per_mirrored_write_op + if usec_per_read_op is not None: + self.usec_per_read_op = usec_per_read_op + if usec_per_write_op is not None: + self.usec_per_write_op = usec_per_write_op + if write_bytes_per_sec is not None: + self.write_bytes_per_sec = write_bytes_per_sec + if writes_per_sec is not None: + self.writes_per_sec = writes_per_sec + if service_usec_per_read_op_cache_reduction is not None: + self.service_usec_per_read_op_cache_reduction = service_usec_per_read_op_cache_reduction + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Performance`".format(key)) + if key == "bytes_per_mirrored_write" and value is not None: + if value < 0: + raise ValueError("Invalid value for `bytes_per_mirrored_write`, must be a value greater than or equal to `0`") + if key == "bytes_per_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `bytes_per_op`, must be a value greater than or equal to `0`") + if key == "bytes_per_read" and value is not None: + if value < 0: + raise ValueError("Invalid value for `bytes_per_read`, must be a value greater than or equal to `0`") + if key == "bytes_per_write" and value is not None: + if value < 0: + raise ValueError("Invalid value for `bytes_per_write`, must be a value greater than or equal to `0`") + if key == "mirrored_write_bytes_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `mirrored_write_bytes_per_sec`, must be a value greater than or equal to `0`") + if key == "mirrored_writes_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `mirrored_writes_per_sec`, must be a value greater than or equal to `0`") + if key == "qos_rate_limit_usec_per_mirrored_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `qos_rate_limit_usec_per_mirrored_write_op`, must be a value greater than or equal to `0`") + if key == "qos_rate_limit_usec_per_read_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `qos_rate_limit_usec_per_read_op`, must be a value greater than or equal to `0`") + if key == "qos_rate_limit_usec_per_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `qos_rate_limit_usec_per_write_op`, must be a value greater than or equal to `0`") + if key == "queue_usec_per_mirrored_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `queue_usec_per_mirrored_write_op`, must be a value greater than or equal to `0`") + if key == "queue_usec_per_read_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `queue_usec_per_read_op`, must be a value greater than or equal to `0`") + if key == "queue_usec_per_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `queue_usec_per_write_op`, must be a value greater than or equal to `0`") + if key == "read_bytes_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `read_bytes_per_sec`, must be a value greater than or equal to `0`") + if key == "reads_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `reads_per_sec`, must be a value greater than or equal to `0`") + if key == "san_usec_per_mirrored_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `san_usec_per_mirrored_write_op`, must be a value greater than or equal to `0`") + if key == "san_usec_per_read_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `san_usec_per_read_op`, must be a value greater than or equal to `0`") + if key == "san_usec_per_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `san_usec_per_write_op`, must be a value greater than or equal to `0`") + if key == "service_usec_per_mirrored_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `service_usec_per_mirrored_write_op`, must be a value greater than or equal to `0`") + if key == "service_usec_per_read_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `service_usec_per_read_op`, must be a value greater than or equal to `0`") + if key == "service_usec_per_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `service_usec_per_write_op`, must be a value greater than or equal to `0`") + if key == "usec_per_mirrored_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `usec_per_mirrored_write_op`, must be a value greater than or equal to `0`") + if key == "usec_per_read_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `usec_per_read_op`, must be a value greater than or equal to `0`") + if key == "usec_per_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `usec_per_write_op`, must be a value greater than or equal to `0`") + if key == "write_bytes_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `write_bytes_per_sec`, must be a value greater than or equal to `0`") + if key == "writes_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `writes_per_sec`, must be a value greater than or equal to `0`") + if key == "service_usec_per_read_op_cache_reduction" and value is not None: + if value > 1.0: + raise ValueError("Invalid value for `service_usec_per_read_op_cache_reduction`, value must be less than or equal to `1.0`") + if value < 0.0: + raise ValueError("Invalid value for `service_usec_per_read_op_cache_reduction`, must be a value greater than or equal to `0.0`") + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Performance`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Performance`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Performance`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(Performance, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, Performance): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/pod.py b/pypureclient/flasharray/FA_2_26/models/pod.py new file mode 100644 index 000000000..11a32f2dc --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/pod.py @@ -0,0 +1,237 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class Pod(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'id': 'str', + 'name': 'str', + 'array_count': 'int', + 'arrays': 'list[PodArrayStatus]', + 'destroyed': 'bool', + 'eradication_config': 'PodEradicationConfig', + 'failover_preferences': 'list[Reference]', + 'footprint': 'int', + 'link_source_count': 'int', + 'link_target_count': 'int', + 'mediator': 'str', + 'mediator_version': 'str', + 'promotion_status': 'str', + 'quota_limit': 'int', + 'requested_promotion_state': 'str', + 'source': 'FixedReference', + 'space': 'PodSpace', + 'time_remaining': 'int' + } + + attribute_map = { + 'id': 'id', + 'name': 'name', + 'array_count': 'array_count', + 'arrays': 'arrays', + 'destroyed': 'destroyed', + 'eradication_config': 'eradication_config', + 'failover_preferences': 'failover_preferences', + 'footprint': 'footprint', + 'link_source_count': 'link_source_count', + 'link_target_count': 'link_target_count', + 'mediator': 'mediator', + 'mediator_version': 'mediator_version', + 'promotion_status': 'promotion_status', + 'quota_limit': 'quota_limit', + 'requested_promotion_state': 'requested_promotion_state', + 'source': 'source', + 'space': 'space', + 'time_remaining': 'time_remaining' + } + + required_args = { + } + + def __init__( + self, + id=None, # type: str + name=None, # type: str + array_count=None, # type: int + arrays=None, # type: List[models.PodArrayStatus] + destroyed=None, # type: bool + eradication_config=None, # type: models.PodEradicationConfig + failover_preferences=None, # type: List[models.Reference] + footprint=None, # type: int + link_source_count=None, # type: int + link_target_count=None, # type: int + mediator=None, # type: str + mediator_version=None, # type: str + promotion_status=None, # type: str + quota_limit=None, # type: int + requested_promotion_state=None, # type: str + source=None, # type: models.FixedReference + space=None, # type: models.PodSpace + time_remaining=None, # type: int + ): + """ + Keyword args: + id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. + name (str): A user-specified name. The name must be locally unique and can be changed. + array_count (int): The number of arrays a pod connects to. + arrays (list[PodArrayStatus]): A list of arrays over which the pod is stretched. If there are two or more arrays in the stretched pod, all data in the pod is synchronously replicated between all of the arrays within the pod. + destroyed (bool): Returns a value of `true` if the pod has been destroyed and is pending eradication. The `time_remaining` value displays the amount of time left until the destroyed pod is permanently eradicated. Before the `time_remaining` period has elapsed, the destroyed pod can be recovered by setting `destroyed=false`. Once the `time_remaining` period has elapsed, the pod is permanently eradicated and can no longer be recovered. + eradication_config (PodEradicationConfig) + failover_preferences (list[Reference]): Determines which array within a stretched pod should be given priority to stay online should the arrays ever lose contact with each other. The current array and any peer arrays that are connected to the current array for synchronous replication can be added to a pod for failover preference. By default, `failover_preferences=null`, meaning no arrays have been configured for failover preference. + footprint (int): The maximum amount of physical space the pod would take up on any array, ignoring any data shared outside the pod. Measured in bytes. The footprint metric is mostly used for capacity planning. + link_source_count (int): The number of source pods that link to the pod. + link_target_count (int): The number of target pods that link to the pod. + mediator (str): The URL of the mediator for the pod. By default, the Pure1 Cloud Mediator (`purestorage`) serves as the mediator. + mediator_version (str): The mediator version. + promotion_status (str): Current promotion status of a pod. Values include `promoted`, `demoted`, and `promoting`. The `promoted` status indicates that the pod has been promoted. The pod takes writes from hosts instead of incorporating replicated data. This is the default mode for a pod when it is created. The `demoted` status indicates that the pod has been demoted. The pod does not accept write requests and is ready to be used as a link target. The `promoting` status indicates that the pod is in an intermediate status between `demoted` and `promoted` while the promotion process is taking place. + quota_limit (int): The logical quota limit of the pod, measured in bytes. + requested_promotion_state (str): Values include `promoted` and `demoted`. Patch `requested_promotion_state` to `demoted` to demote the pod so that it can be used as a link target for continuous replication between pods. Demoted pods do not accept write requests, and a destroyed version of the pod with `undo-demote` appended to the pod name is created on the array with the state of the pod when it was in the promoted state. Patch `requested_promotion_state` to `promoted` to start the process of promoting the pod. The `promotion_status` indicates when the pod has been successfully promoted. Promoted pods stop incorporating replicated data from the source pod and start accepting write requests. The replication process does not stop as the source pod continues replicating data to the pod. The space consumed by the unique replicated data is tracked by the `space.journal` field of the pod. + source (FixedReference): The source pod from where data is cloned to create the new pod. + space (PodSpace): Displays provisioned size and physical storage consumption information for the sum of all volumes connected to the specified host. + time_remaining (int): The amount of time left until the destroyed pod is permanently eradicated, measured in milliseconds. Before the `time_remaining` period has elapsed, the destroyed pod can be recovered by setting `destroyed=false`. + """ + if id is not None: + self.id = id + if name is not None: + self.name = name + if array_count is not None: + self.array_count = array_count + if arrays is not None: + self.arrays = arrays + if destroyed is not None: + self.destroyed = destroyed + if eradication_config is not None: + self.eradication_config = eradication_config + if failover_preferences is not None: + self.failover_preferences = failover_preferences + if footprint is not None: + self.footprint = footprint + if link_source_count is not None: + self.link_source_count = link_source_count + if link_target_count is not None: + self.link_target_count = link_target_count + if mediator is not None: + self.mediator = mediator + if mediator_version is not None: + self.mediator_version = mediator_version + if promotion_status is not None: + self.promotion_status = promotion_status + if quota_limit is not None: + self.quota_limit = quota_limit + if requested_promotion_state is not None: + self.requested_promotion_state = requested_promotion_state + if source is not None: + self.source = source + if space is not None: + self.space = space + if time_remaining is not None: + self.time_remaining = time_remaining + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Pod`".format(key)) + if key == "footprint" and value is not None: + if value < 0: + raise ValueError("Invalid value for `footprint`, must be a value greater than or equal to `0`") + if key == "quota_limit" and value is not None: + if value > 4503599627370496: + raise ValueError("Invalid value for `quota_limit`, value must be less than or equal to `4503599627370496`") + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Pod`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Pod`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Pod`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(Pod, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, Pod): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/pod_array_status.py b/pypureclient/flasharray/FA_2_26/models/pod_array_status.py new file mode 100644 index 000000000..7f2df18fd --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/pod_array_status.py @@ -0,0 +1,165 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class PodArrayStatus(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'id': 'str', + 'name': 'str', + 'frozen_at': 'int', + 'mediator_status': 'str', + 'pre_elected': 'bool', + 'progress': 'float', + 'status': 'str' + } + + attribute_map = { + 'id': 'id', + 'name': 'name', + 'frozen_at': 'frozen_at', + 'mediator_status': 'mediator_status', + 'pre_elected': 'pre_elected', + 'progress': 'progress', + 'status': 'status' + } + + required_args = { + } + + def __init__( + self, + id=None, # type: str + name=None, # type: str + frozen_at=None, # type: int + mediator_status=None, # type: str + pre_elected=None, # type: bool + progress=None, # type: float + status=None, # type: str + ): + """ + Keyword args: + id (str): A globally unique, system-generated ID. The ID cannot be modified. + name (str): The resource name, such as volume name, pod name, snapshot name, and so on. + frozen_at (int): The timestamp of when the data on the pod was frozen when the array went offline. Measured in milliseconds since the UNIX epoch. Also known as the recovery point. If the pod is in sync, a value of `null` will be returned. + mediator_status (str): The status of the mediator, which determines whether it is available to mediate a high availability event. Valid values are `flummoxed`, `online`, `unknown`, and `unreachable`. Only mediators in the `online` status can mediate high availability events. If set to `flummoxed`, the array can reach a mediator, but it is talking to the wrong one. Verify that the DNS in the environment is properly configured. This status might also appear if the pod has been offline on one array for an extended period of time and the peer array is unreachable. If set to `online`, the array is successfully communicating with the mediator, and the mediator is available to mediate a high availability event. If set to `unreachable`, the array cannot reach the mediator, either due to network issues or because the mediator is down. When a mediator is unreachable, synchronous replication continues to function provided all arrays are healthy and communicating, but a high availability event without mediator access can result in an outage. + pre_elected (bool): If set to `true`, the array has been pre-elected to remain online in the rare event that the mediator is inaccessible on both arrays within the stretched pod, and then later, the arrays within the stretched pod become disconnected from each other. If set to `false`, either the array has been pre-elected to remain offline while its peer array remains online, or pre-election is not in effect. One and only one array within each pod is pre-elected at a given point in time, so while a pre-elected array is keeping the pod online, the pod on its non-elected peer array remains offline during the communication failure. Users cannot pre-elect arrays. + progress (float): The percentage progress of the pod resyncing process for this array. The percentage is displayed as a decimal value, starting at 0.00 and ending at 1.00. + status (str): The status of the array within the stretched pod. Valid values are `offline`, `online`, `resyncing`, `suspended`, and `unknown`. If set to `offline`, the array is experiencing problems and may not have the latest pod data. The array cannot handle I/O to the pod and cannot take over during a high availability event. If set to `online`, the array is online and has the latest pod data. The array can handle I/O to the pod and take over during a high availability event. If set to `suspended`, the array is experiencing a short connection glitch of the pod. This is a temporary status and would transition to either `online` or `offline` soon. `suspended` is a new status that is exposed, starting from version 6.6.0. If set to `resyncing`, the array is actively getting the latest pod data so that it becomes fully synchronized with its peer array. During the resyncing process, the array cannot handle I/O to the pod. Once the arrays are fully synchronized, the array changes to `online` status. If set to `unknown`, the status of the peer array is unknown because this array is offline and cannot determine the state of the pod on the peer array. Only the peer array can ever be in unknown status; this unknown status is unique to the local array and will differ when viewed from its peer array. + """ + if id is not None: + self.id = id + if name is not None: + self.name = name + if frozen_at is not None: + self.frozen_at = frozen_at + if mediator_status is not None: + self.mediator_status = mediator_status + if pre_elected is not None: + self.pre_elected = pre_elected + if progress is not None: + self.progress = progress + if status is not None: + self.status = status + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PodArrayStatus`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PodArrayStatus`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PodArrayStatus`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PodArrayStatus`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(PodArrayStatus, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, PodArrayStatus): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/pod_eradication_config.py b/pypureclient/flasharray/FA_2_26/models/pod_eradication_config.py new file mode 100644 index 000000000..a15c42e60 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/pod_eradication_config.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class PodEradicationConfig(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'manual_eradication': 'str' + } + + attribute_map = { + 'manual_eradication': 'manual_eradication' + } + + required_args = { + } + + def __init__( + self, + manual_eradication=None, # type: str + ): + """ + Keyword args: + manual_eradication (str): The manual eradication status of pod. If `all-enabled`, the pod and its contents can be eradicated. If `partially-disabled`, the pod cannot be eradicated because the pod contains some non-empty protection groups that are retention-locked. If `all-disabled`, the pod and its contents cannot be eradicated. Values include `all-disabled`, `all-enabled`, and `partially-disabled`. + """ + if manual_eradication is not None: + self.manual_eradication = manual_eradication + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PodEradicationConfig`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PodEradicationConfig`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PodEradicationConfig`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PodEradicationConfig`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(PodEradicationConfig, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, PodEradicationConfig): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/pod_get_response.py b/pypureclient/flasharray/FA_2_26/models/pod_get_response.py new file mode 100644 index 000000000..03fa625e8 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/pod_get_response.py @@ -0,0 +1,153 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class PodGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[Pod]', + 'total': 'list[Pod]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items', + 'total': 'total' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.Pod] + total=None, # type: List[models.Pod] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[Pod]) + total (list[Pod]): The aggregate value of all items after filtering. When applicable, the average value is displayed instead. The values are displayed for each field, if meaningful. + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + if total is not None: + self.total = total + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PodGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PodGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PodGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PodGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(PodGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, PodGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/pod_patch.py b/pypureclient/flasharray/FA_2_26/models/pod_patch.py new file mode 100644 index 000000000..f90ec0298 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/pod_patch.py @@ -0,0 +1,176 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class PodPatch(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'id': 'str', + 'name': 'str', + 'destroyed': 'bool', + 'failover_preferences': 'list[Reference]', + 'mediator': 'str', + 'requested_promotion_state': 'str', + 'quota_limit': 'int', + 'ignore_usage': 'bool' + } + + attribute_map = { + 'id': 'id', + 'name': 'name', + 'destroyed': 'destroyed', + 'failover_preferences': 'failover_preferences', + 'mediator': 'mediator', + 'requested_promotion_state': 'requested_promotion_state', + 'quota_limit': 'quota_limit', + 'ignore_usage': 'ignore_usage' + } + + required_args = { + } + + def __init__( + self, + id=None, # type: str + name=None, # type: str + destroyed=None, # type: bool + failover_preferences=None, # type: List[models.Reference] + mediator=None, # type: str + requested_promotion_state=None, # type: str + quota_limit=None, # type: int + ignore_usage=None, # type: bool + ): + """ + Keyword args: + id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. + name (str): A user-specified name. The name must be locally unique and can be changed. + destroyed (bool): If set to `true`, the pod has been destroyed and is pending eradication. The `time_remaining` value displays the amount of time left until the destroyed pod is permanently eradicated. A pod can only be destroyed if it is empty, so before destroying a pod, ensure all volumes and protection groups inside the pod have been either moved out of the pod or destroyed. A stretched pod cannot be destroyed unless you unstretch it first. Before the `time_remaining` period has elapsed, the destroyed pod can be recovered by setting `destroyed=false`. Once the `time_remaining` period has elapsed, the pod is permanently eradicated and can no longer be recovered. + failover_preferences (list[Reference]): Determines which array within a stretched pod should be given priority to stay online should the arrays ever lose contact with each other. The current array and any peer arrays that are connected to the current array for synchronous replication can be added to a pod for failover preference. By default, `failover_preferences=null`, meaning no arrays have been configured for failover preference. Enter multiple arrays in comma-separated format. + mediator (str): Sets the URL of the mediator for this pod, replacing the URL of the current mediator. By default, the Pure1 Cloud Mediator (`purestorage`) serves as the mediator. + requested_promotion_state (str): Patch `requested_promotion_state` to `demoted` to demote the pod so that it can be used as a link target for continuous replication between pods. Demoted pods do not accept write requests, and a destroyed version of the pod with `undo-demote` appended to the pod name is created on the array with the state of the pod when it was in the promoted state. Patch `requested_promotion_state` to `promoted` to start the process of promoting the pod. The `promotion_status` indicates when the pod has been successfully promoted. Promoted pods stop incorporating replicated data from the source pod and start accepting write requests. The replication process does not stop when the source pod continues replicating data to the pod. The space consumed by the unique replicated data is tracked by the `space.journal` field of the pod. + quota_limit (int): The logical quota limit of the pod, measured in bytes. Must be a multiple of 512. + ignore_usage (bool): Set to `true` to set a `quota_limit` that is lower than the existing usage. This ensures that no new volumes can be created until the existing usage drops below the `quota_limit`. If not specified, defaults to `false`. + """ + if id is not None: + self.id = id + if name is not None: + self.name = name + if destroyed is not None: + self.destroyed = destroyed + if failover_preferences is not None: + self.failover_preferences = failover_preferences + if mediator is not None: + self.mediator = mediator + if requested_promotion_state is not None: + self.requested_promotion_state = requested_promotion_state + if quota_limit is not None: + self.quota_limit = quota_limit + if ignore_usage is not None: + self.ignore_usage = ignore_usage + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PodPatch`".format(key)) + if key == "quota_limit" and value is not None: + if value > 4503599627370496: + raise ValueError("Invalid value for `quota_limit`, value must be less than or equal to `4503599627370496`") + if value < 1048576: + raise ValueError("Invalid value for `quota_limit`, must be a value greater than or equal to `1048576`") + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PodPatch`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PodPatch`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PodPatch`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(PodPatch, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, PodPatch): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/pod_performance.py b/pypureclient/flasharray/FA_2_26/models/pod_performance.py new file mode 100644 index 000000000..fe90a758b --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/pod_performance.py @@ -0,0 +1,395 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class PodPerformance(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'bytes_per_mirrored_write': 'int', + 'bytes_per_op': 'int', + 'bytes_per_read': 'int', + 'bytes_per_write': 'int', + 'mirrored_write_bytes_per_sec': 'int', + 'mirrored_writes_per_sec': 'int', + 'qos_rate_limit_usec_per_mirrored_write_op': 'int', + 'qos_rate_limit_usec_per_read_op': 'int', + 'qos_rate_limit_usec_per_write_op': 'int', + 'queue_usec_per_mirrored_write_op': 'int', + 'queue_usec_per_read_op': 'int', + 'queue_usec_per_write_op': 'int', + 'read_bytes_per_sec': 'int', + 'reads_per_sec': 'int', + 'san_usec_per_mirrored_write_op': 'int', + 'san_usec_per_read_op': 'int', + 'san_usec_per_write_op': 'int', + 'service_usec_per_mirrored_write_op': 'int', + 'service_usec_per_read_op': 'int', + 'service_usec_per_write_op': 'int', + 'time': 'int', + 'usec_per_mirrored_write_op': 'int', + 'usec_per_read_op': 'int', + 'usec_per_write_op': 'int', + 'write_bytes_per_sec': 'int', + 'writes_per_sec': 'int', + 'service_usec_per_read_op_cache_reduction': 'float', + 'id': 'str', + 'name': 'str', + 'others_per_sec': 'int', + 'usec_per_other_op': 'int' + } + + attribute_map = { + 'bytes_per_mirrored_write': 'bytes_per_mirrored_write', + 'bytes_per_op': 'bytes_per_op', + 'bytes_per_read': 'bytes_per_read', + 'bytes_per_write': 'bytes_per_write', + 'mirrored_write_bytes_per_sec': 'mirrored_write_bytes_per_sec', + 'mirrored_writes_per_sec': 'mirrored_writes_per_sec', + 'qos_rate_limit_usec_per_mirrored_write_op': 'qos_rate_limit_usec_per_mirrored_write_op', + 'qos_rate_limit_usec_per_read_op': 'qos_rate_limit_usec_per_read_op', + 'qos_rate_limit_usec_per_write_op': 'qos_rate_limit_usec_per_write_op', + 'queue_usec_per_mirrored_write_op': 'queue_usec_per_mirrored_write_op', + 'queue_usec_per_read_op': 'queue_usec_per_read_op', + 'queue_usec_per_write_op': 'queue_usec_per_write_op', + 'read_bytes_per_sec': 'read_bytes_per_sec', + 'reads_per_sec': 'reads_per_sec', + 'san_usec_per_mirrored_write_op': 'san_usec_per_mirrored_write_op', + 'san_usec_per_read_op': 'san_usec_per_read_op', + 'san_usec_per_write_op': 'san_usec_per_write_op', + 'service_usec_per_mirrored_write_op': 'service_usec_per_mirrored_write_op', + 'service_usec_per_read_op': 'service_usec_per_read_op', + 'service_usec_per_write_op': 'service_usec_per_write_op', + 'time': 'time', + 'usec_per_mirrored_write_op': 'usec_per_mirrored_write_op', + 'usec_per_read_op': 'usec_per_read_op', + 'usec_per_write_op': 'usec_per_write_op', + 'write_bytes_per_sec': 'write_bytes_per_sec', + 'writes_per_sec': 'writes_per_sec', + 'service_usec_per_read_op_cache_reduction': 'service_usec_per_read_op_cache_reduction', + 'id': 'id', + 'name': 'name', + 'others_per_sec': 'others_per_sec', + 'usec_per_other_op': 'usec_per_other_op' + } + + required_args = { + } + + def __init__( + self, + bytes_per_mirrored_write=None, # type: int + bytes_per_op=None, # type: int + bytes_per_read=None, # type: int + bytes_per_write=None, # type: int + mirrored_write_bytes_per_sec=None, # type: int + mirrored_writes_per_sec=None, # type: int + qos_rate_limit_usec_per_mirrored_write_op=None, # type: int + qos_rate_limit_usec_per_read_op=None, # type: int + qos_rate_limit_usec_per_write_op=None, # type: int + queue_usec_per_mirrored_write_op=None, # type: int + queue_usec_per_read_op=None, # type: int + queue_usec_per_write_op=None, # type: int + read_bytes_per_sec=None, # type: int + reads_per_sec=None, # type: int + san_usec_per_mirrored_write_op=None, # type: int + san_usec_per_read_op=None, # type: int + san_usec_per_write_op=None, # type: int + service_usec_per_mirrored_write_op=None, # type: int + service_usec_per_read_op=None, # type: int + service_usec_per_write_op=None, # type: int + time=None, # type: int + usec_per_mirrored_write_op=None, # type: int + usec_per_read_op=None, # type: int + usec_per_write_op=None, # type: int + write_bytes_per_sec=None, # type: int + writes_per_sec=None, # type: int + service_usec_per_read_op_cache_reduction=None, # type: float + id=None, # type: str + name=None, # type: str + others_per_sec=None, # type: int + usec_per_other_op=None, # type: int + ): + """ + Keyword args: + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. + bytes_per_op (int): The average I/O size for both read and write (all) operations. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. + mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. + mirrored_writes_per_sec (int): The number of mirrored writes per second. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. + read_bytes_per_sec (int): The number of bytes read per second. + reads_per_sec (int): The number of read requests processed per second. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + write_bytes_per_sec (int): The number of bytes written per second. + writes_per_sec (int): The number of write requests processed per second. + service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. + id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. + name (str): A user-specified name. The name must be locally unique and can be changed. + others_per_sec (int): The number of other requests processed per second. + usec_per_other_op (int): The average time it takes the pod to process an I/O other request, measured in microseconds. + """ + if bytes_per_mirrored_write is not None: + self.bytes_per_mirrored_write = bytes_per_mirrored_write + if bytes_per_op is not None: + self.bytes_per_op = bytes_per_op + if bytes_per_read is not None: + self.bytes_per_read = bytes_per_read + if bytes_per_write is not None: + self.bytes_per_write = bytes_per_write + if mirrored_write_bytes_per_sec is not None: + self.mirrored_write_bytes_per_sec = mirrored_write_bytes_per_sec + if mirrored_writes_per_sec is not None: + self.mirrored_writes_per_sec = mirrored_writes_per_sec + if qos_rate_limit_usec_per_mirrored_write_op is not None: + self.qos_rate_limit_usec_per_mirrored_write_op = qos_rate_limit_usec_per_mirrored_write_op + if qos_rate_limit_usec_per_read_op is not None: + self.qos_rate_limit_usec_per_read_op = qos_rate_limit_usec_per_read_op + if qos_rate_limit_usec_per_write_op is not None: + self.qos_rate_limit_usec_per_write_op = qos_rate_limit_usec_per_write_op + if queue_usec_per_mirrored_write_op is not None: + self.queue_usec_per_mirrored_write_op = queue_usec_per_mirrored_write_op + if queue_usec_per_read_op is not None: + self.queue_usec_per_read_op = queue_usec_per_read_op + if queue_usec_per_write_op is not None: + self.queue_usec_per_write_op = queue_usec_per_write_op + if read_bytes_per_sec is not None: + self.read_bytes_per_sec = read_bytes_per_sec + if reads_per_sec is not None: + self.reads_per_sec = reads_per_sec + if san_usec_per_mirrored_write_op is not None: + self.san_usec_per_mirrored_write_op = san_usec_per_mirrored_write_op + if san_usec_per_read_op is not None: + self.san_usec_per_read_op = san_usec_per_read_op + if san_usec_per_write_op is not None: + self.san_usec_per_write_op = san_usec_per_write_op + if service_usec_per_mirrored_write_op is not None: + self.service_usec_per_mirrored_write_op = service_usec_per_mirrored_write_op + if service_usec_per_read_op is not None: + self.service_usec_per_read_op = service_usec_per_read_op + if service_usec_per_write_op is not None: + self.service_usec_per_write_op = service_usec_per_write_op + if time is not None: + self.time = time + if usec_per_mirrored_write_op is not None: + self.usec_per_mirrored_write_op = usec_per_mirrored_write_op + if usec_per_read_op is not None: + self.usec_per_read_op = usec_per_read_op + if usec_per_write_op is not None: + self.usec_per_write_op = usec_per_write_op + if write_bytes_per_sec is not None: + self.write_bytes_per_sec = write_bytes_per_sec + if writes_per_sec is not None: + self.writes_per_sec = writes_per_sec + if service_usec_per_read_op_cache_reduction is not None: + self.service_usec_per_read_op_cache_reduction = service_usec_per_read_op_cache_reduction + if id is not None: + self.id = id + if name is not None: + self.name = name + if others_per_sec is not None: + self.others_per_sec = others_per_sec + if usec_per_other_op is not None: + self.usec_per_other_op = usec_per_other_op + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PodPerformance`".format(key)) + if key == "bytes_per_mirrored_write" and value is not None: + if value < 0: + raise ValueError("Invalid value for `bytes_per_mirrored_write`, must be a value greater than or equal to `0`") + if key == "bytes_per_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `bytes_per_op`, must be a value greater than or equal to `0`") + if key == "bytes_per_read" and value is not None: + if value < 0: + raise ValueError("Invalid value for `bytes_per_read`, must be a value greater than or equal to `0`") + if key == "bytes_per_write" and value is not None: + if value < 0: + raise ValueError("Invalid value for `bytes_per_write`, must be a value greater than or equal to `0`") + if key == "mirrored_write_bytes_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `mirrored_write_bytes_per_sec`, must be a value greater than or equal to `0`") + if key == "mirrored_writes_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `mirrored_writes_per_sec`, must be a value greater than or equal to `0`") + if key == "qos_rate_limit_usec_per_mirrored_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `qos_rate_limit_usec_per_mirrored_write_op`, must be a value greater than or equal to `0`") + if key == "qos_rate_limit_usec_per_read_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `qos_rate_limit_usec_per_read_op`, must be a value greater than or equal to `0`") + if key == "qos_rate_limit_usec_per_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `qos_rate_limit_usec_per_write_op`, must be a value greater than or equal to `0`") + if key == "queue_usec_per_mirrored_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `queue_usec_per_mirrored_write_op`, must be a value greater than or equal to `0`") + if key == "queue_usec_per_read_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `queue_usec_per_read_op`, must be a value greater than or equal to `0`") + if key == "queue_usec_per_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `queue_usec_per_write_op`, must be a value greater than or equal to `0`") + if key == "read_bytes_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `read_bytes_per_sec`, must be a value greater than or equal to `0`") + if key == "reads_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `reads_per_sec`, must be a value greater than or equal to `0`") + if key == "san_usec_per_mirrored_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `san_usec_per_mirrored_write_op`, must be a value greater than or equal to `0`") + if key == "san_usec_per_read_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `san_usec_per_read_op`, must be a value greater than or equal to `0`") + if key == "san_usec_per_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `san_usec_per_write_op`, must be a value greater than or equal to `0`") + if key == "service_usec_per_mirrored_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `service_usec_per_mirrored_write_op`, must be a value greater than or equal to `0`") + if key == "service_usec_per_read_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `service_usec_per_read_op`, must be a value greater than or equal to `0`") + if key == "service_usec_per_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `service_usec_per_write_op`, must be a value greater than or equal to `0`") + if key == "usec_per_mirrored_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `usec_per_mirrored_write_op`, must be a value greater than or equal to `0`") + if key == "usec_per_read_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `usec_per_read_op`, must be a value greater than or equal to `0`") + if key == "usec_per_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `usec_per_write_op`, must be a value greater than or equal to `0`") + if key == "write_bytes_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `write_bytes_per_sec`, must be a value greater than or equal to `0`") + if key == "writes_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `writes_per_sec`, must be a value greater than or equal to `0`") + if key == "service_usec_per_read_op_cache_reduction" and value is not None: + if value > 1.0: + raise ValueError("Invalid value for `service_usec_per_read_op_cache_reduction`, value must be less than or equal to `1.0`") + if value < 0.0: + raise ValueError("Invalid value for `service_usec_per_read_op_cache_reduction`, must be a value greater than or equal to `0.0`") + if key == "others_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `others_per_sec`, must be a value greater than or equal to `0`") + if key == "usec_per_other_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `usec_per_other_op`, must be a value greater than or equal to `0`") + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PodPerformance`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PodPerformance`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PodPerformance`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(PodPerformance, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, PodPerformance): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/pod_performance_by_array.py b/pypureclient/flasharray/FA_2_26/models/pod_performance_by_array.py new file mode 100644 index 000000000..1e7646fca --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/pod_performance_by_array.py @@ -0,0 +1,401 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class PodPerformanceByArray(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'bytes_per_mirrored_write': 'int', + 'bytes_per_op': 'int', + 'bytes_per_read': 'int', + 'bytes_per_write': 'int', + 'mirrored_write_bytes_per_sec': 'int', + 'mirrored_writes_per_sec': 'int', + 'qos_rate_limit_usec_per_mirrored_write_op': 'int', + 'qos_rate_limit_usec_per_read_op': 'int', + 'qos_rate_limit_usec_per_write_op': 'int', + 'queue_usec_per_mirrored_write_op': 'int', + 'queue_usec_per_read_op': 'int', + 'queue_usec_per_write_op': 'int', + 'read_bytes_per_sec': 'int', + 'reads_per_sec': 'int', + 'san_usec_per_mirrored_write_op': 'int', + 'san_usec_per_read_op': 'int', + 'san_usec_per_write_op': 'int', + 'service_usec_per_mirrored_write_op': 'int', + 'service_usec_per_read_op': 'int', + 'service_usec_per_write_op': 'int', + 'time': 'int', + 'usec_per_mirrored_write_op': 'int', + 'usec_per_read_op': 'int', + 'usec_per_write_op': 'int', + 'write_bytes_per_sec': 'int', + 'writes_per_sec': 'int', + 'service_usec_per_read_op_cache_reduction': 'float', + 'id': 'str', + 'name': 'str', + 'others_per_sec': 'int', + 'usec_per_other_op': 'int', + 'array': 'Resource' + } + + attribute_map = { + 'bytes_per_mirrored_write': 'bytes_per_mirrored_write', + 'bytes_per_op': 'bytes_per_op', + 'bytes_per_read': 'bytes_per_read', + 'bytes_per_write': 'bytes_per_write', + 'mirrored_write_bytes_per_sec': 'mirrored_write_bytes_per_sec', + 'mirrored_writes_per_sec': 'mirrored_writes_per_sec', + 'qos_rate_limit_usec_per_mirrored_write_op': 'qos_rate_limit_usec_per_mirrored_write_op', + 'qos_rate_limit_usec_per_read_op': 'qos_rate_limit_usec_per_read_op', + 'qos_rate_limit_usec_per_write_op': 'qos_rate_limit_usec_per_write_op', + 'queue_usec_per_mirrored_write_op': 'queue_usec_per_mirrored_write_op', + 'queue_usec_per_read_op': 'queue_usec_per_read_op', + 'queue_usec_per_write_op': 'queue_usec_per_write_op', + 'read_bytes_per_sec': 'read_bytes_per_sec', + 'reads_per_sec': 'reads_per_sec', + 'san_usec_per_mirrored_write_op': 'san_usec_per_mirrored_write_op', + 'san_usec_per_read_op': 'san_usec_per_read_op', + 'san_usec_per_write_op': 'san_usec_per_write_op', + 'service_usec_per_mirrored_write_op': 'service_usec_per_mirrored_write_op', + 'service_usec_per_read_op': 'service_usec_per_read_op', + 'service_usec_per_write_op': 'service_usec_per_write_op', + 'time': 'time', + 'usec_per_mirrored_write_op': 'usec_per_mirrored_write_op', + 'usec_per_read_op': 'usec_per_read_op', + 'usec_per_write_op': 'usec_per_write_op', + 'write_bytes_per_sec': 'write_bytes_per_sec', + 'writes_per_sec': 'writes_per_sec', + 'service_usec_per_read_op_cache_reduction': 'service_usec_per_read_op_cache_reduction', + 'id': 'id', + 'name': 'name', + 'others_per_sec': 'others_per_sec', + 'usec_per_other_op': 'usec_per_other_op', + 'array': 'array' + } + + required_args = { + } + + def __init__( + self, + bytes_per_mirrored_write=None, # type: int + bytes_per_op=None, # type: int + bytes_per_read=None, # type: int + bytes_per_write=None, # type: int + mirrored_write_bytes_per_sec=None, # type: int + mirrored_writes_per_sec=None, # type: int + qos_rate_limit_usec_per_mirrored_write_op=None, # type: int + qos_rate_limit_usec_per_read_op=None, # type: int + qos_rate_limit_usec_per_write_op=None, # type: int + queue_usec_per_mirrored_write_op=None, # type: int + queue_usec_per_read_op=None, # type: int + queue_usec_per_write_op=None, # type: int + read_bytes_per_sec=None, # type: int + reads_per_sec=None, # type: int + san_usec_per_mirrored_write_op=None, # type: int + san_usec_per_read_op=None, # type: int + san_usec_per_write_op=None, # type: int + service_usec_per_mirrored_write_op=None, # type: int + service_usec_per_read_op=None, # type: int + service_usec_per_write_op=None, # type: int + time=None, # type: int + usec_per_mirrored_write_op=None, # type: int + usec_per_read_op=None, # type: int + usec_per_write_op=None, # type: int + write_bytes_per_sec=None, # type: int + writes_per_sec=None, # type: int + service_usec_per_read_op_cache_reduction=None, # type: float + id=None, # type: str + name=None, # type: str + others_per_sec=None, # type: int + usec_per_other_op=None, # type: int + array=None, # type: models.Resource + ): + """ + Keyword args: + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. + bytes_per_op (int): The average I/O size for both read and write (all) operations. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. + mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. + mirrored_writes_per_sec (int): The number of mirrored writes per second. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. + read_bytes_per_sec (int): The number of bytes read per second. + reads_per_sec (int): The number of read requests processed per second. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + write_bytes_per_sec (int): The number of bytes written per second. + writes_per_sec (int): The number of write requests processed per second. + service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. + id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. + name (str): A user-specified name. The name must be locally unique and can be changed. + others_per_sec (int): The number of other requests processed per second. + usec_per_other_op (int): The average time it takes the pod to process an I/O other request, measured in microseconds. + array (Resource): The array on which the performance metrics were recorded. + """ + if bytes_per_mirrored_write is not None: + self.bytes_per_mirrored_write = bytes_per_mirrored_write + if bytes_per_op is not None: + self.bytes_per_op = bytes_per_op + if bytes_per_read is not None: + self.bytes_per_read = bytes_per_read + if bytes_per_write is not None: + self.bytes_per_write = bytes_per_write + if mirrored_write_bytes_per_sec is not None: + self.mirrored_write_bytes_per_sec = mirrored_write_bytes_per_sec + if mirrored_writes_per_sec is not None: + self.mirrored_writes_per_sec = mirrored_writes_per_sec + if qos_rate_limit_usec_per_mirrored_write_op is not None: + self.qos_rate_limit_usec_per_mirrored_write_op = qos_rate_limit_usec_per_mirrored_write_op + if qos_rate_limit_usec_per_read_op is not None: + self.qos_rate_limit_usec_per_read_op = qos_rate_limit_usec_per_read_op + if qos_rate_limit_usec_per_write_op is not None: + self.qos_rate_limit_usec_per_write_op = qos_rate_limit_usec_per_write_op + if queue_usec_per_mirrored_write_op is not None: + self.queue_usec_per_mirrored_write_op = queue_usec_per_mirrored_write_op + if queue_usec_per_read_op is not None: + self.queue_usec_per_read_op = queue_usec_per_read_op + if queue_usec_per_write_op is not None: + self.queue_usec_per_write_op = queue_usec_per_write_op + if read_bytes_per_sec is not None: + self.read_bytes_per_sec = read_bytes_per_sec + if reads_per_sec is not None: + self.reads_per_sec = reads_per_sec + if san_usec_per_mirrored_write_op is not None: + self.san_usec_per_mirrored_write_op = san_usec_per_mirrored_write_op + if san_usec_per_read_op is not None: + self.san_usec_per_read_op = san_usec_per_read_op + if san_usec_per_write_op is not None: + self.san_usec_per_write_op = san_usec_per_write_op + if service_usec_per_mirrored_write_op is not None: + self.service_usec_per_mirrored_write_op = service_usec_per_mirrored_write_op + if service_usec_per_read_op is not None: + self.service_usec_per_read_op = service_usec_per_read_op + if service_usec_per_write_op is not None: + self.service_usec_per_write_op = service_usec_per_write_op + if time is not None: + self.time = time + if usec_per_mirrored_write_op is not None: + self.usec_per_mirrored_write_op = usec_per_mirrored_write_op + if usec_per_read_op is not None: + self.usec_per_read_op = usec_per_read_op + if usec_per_write_op is not None: + self.usec_per_write_op = usec_per_write_op + if write_bytes_per_sec is not None: + self.write_bytes_per_sec = write_bytes_per_sec + if writes_per_sec is not None: + self.writes_per_sec = writes_per_sec + if service_usec_per_read_op_cache_reduction is not None: + self.service_usec_per_read_op_cache_reduction = service_usec_per_read_op_cache_reduction + if id is not None: + self.id = id + if name is not None: + self.name = name + if others_per_sec is not None: + self.others_per_sec = others_per_sec + if usec_per_other_op is not None: + self.usec_per_other_op = usec_per_other_op + if array is not None: + self.array = array + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PodPerformanceByArray`".format(key)) + if key == "bytes_per_mirrored_write" and value is not None: + if value < 0: + raise ValueError("Invalid value for `bytes_per_mirrored_write`, must be a value greater than or equal to `0`") + if key == "bytes_per_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `bytes_per_op`, must be a value greater than or equal to `0`") + if key == "bytes_per_read" and value is not None: + if value < 0: + raise ValueError("Invalid value for `bytes_per_read`, must be a value greater than or equal to `0`") + if key == "bytes_per_write" and value is not None: + if value < 0: + raise ValueError("Invalid value for `bytes_per_write`, must be a value greater than or equal to `0`") + if key == "mirrored_write_bytes_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `mirrored_write_bytes_per_sec`, must be a value greater than or equal to `0`") + if key == "mirrored_writes_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `mirrored_writes_per_sec`, must be a value greater than or equal to `0`") + if key == "qos_rate_limit_usec_per_mirrored_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `qos_rate_limit_usec_per_mirrored_write_op`, must be a value greater than or equal to `0`") + if key == "qos_rate_limit_usec_per_read_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `qos_rate_limit_usec_per_read_op`, must be a value greater than or equal to `0`") + if key == "qos_rate_limit_usec_per_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `qos_rate_limit_usec_per_write_op`, must be a value greater than or equal to `0`") + if key == "queue_usec_per_mirrored_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `queue_usec_per_mirrored_write_op`, must be a value greater than or equal to `0`") + if key == "queue_usec_per_read_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `queue_usec_per_read_op`, must be a value greater than or equal to `0`") + if key == "queue_usec_per_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `queue_usec_per_write_op`, must be a value greater than or equal to `0`") + if key == "read_bytes_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `read_bytes_per_sec`, must be a value greater than or equal to `0`") + if key == "reads_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `reads_per_sec`, must be a value greater than or equal to `0`") + if key == "san_usec_per_mirrored_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `san_usec_per_mirrored_write_op`, must be a value greater than or equal to `0`") + if key == "san_usec_per_read_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `san_usec_per_read_op`, must be a value greater than or equal to `0`") + if key == "san_usec_per_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `san_usec_per_write_op`, must be a value greater than or equal to `0`") + if key == "service_usec_per_mirrored_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `service_usec_per_mirrored_write_op`, must be a value greater than or equal to `0`") + if key == "service_usec_per_read_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `service_usec_per_read_op`, must be a value greater than or equal to `0`") + if key == "service_usec_per_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `service_usec_per_write_op`, must be a value greater than or equal to `0`") + if key == "usec_per_mirrored_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `usec_per_mirrored_write_op`, must be a value greater than or equal to `0`") + if key == "usec_per_read_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `usec_per_read_op`, must be a value greater than or equal to `0`") + if key == "usec_per_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `usec_per_write_op`, must be a value greater than or equal to `0`") + if key == "write_bytes_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `write_bytes_per_sec`, must be a value greater than or equal to `0`") + if key == "writes_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `writes_per_sec`, must be a value greater than or equal to `0`") + if key == "service_usec_per_read_op_cache_reduction" and value is not None: + if value > 1.0: + raise ValueError("Invalid value for `service_usec_per_read_op_cache_reduction`, value must be less than or equal to `1.0`") + if value < 0.0: + raise ValueError("Invalid value for `service_usec_per_read_op_cache_reduction`, must be a value greater than or equal to `0.0`") + if key == "others_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `others_per_sec`, must be a value greater than or equal to `0`") + if key == "usec_per_other_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `usec_per_other_op`, must be a value greater than or equal to `0`") + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PodPerformanceByArray`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PodPerformanceByArray`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PodPerformanceByArray`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(PodPerformanceByArray, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, PodPerformanceByArray): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/pod_performance_by_array_get_response.py b/pypureclient/flasharray/FA_2_26/models/pod_performance_by_array_get_response.py new file mode 100644 index 000000000..6d3401000 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/pod_performance_by_array_get_response.py @@ -0,0 +1,153 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class PodPerformanceByArrayGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[PodPerformanceByArray]', + 'total': 'list[PodPerformanceByArray]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items', + 'total': 'total' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.PodPerformanceByArray] + total=None, # type: List[models.PodPerformanceByArray] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[PodPerformanceByArray]): Performance data, broken down by array. If `total_only=true`, the `items` list will be empty. + total (list[PodPerformanceByArray]): The aggregate value of all items after filtering. When applicable, the average value is displayed instead. If applicable, the values are displayed for each field. + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + if total is not None: + self.total = total + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PodPerformanceByArrayGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PodPerformanceByArrayGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PodPerformanceByArrayGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PodPerformanceByArrayGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(PodPerformanceByArrayGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, PodPerformanceByArrayGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/pod_performance_get_response.py b/pypureclient/flasharray/FA_2_26/models/pod_performance_get_response.py new file mode 100644 index 000000000..3ed4f2724 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/pod_performance_get_response.py @@ -0,0 +1,153 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class PodPerformanceGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[PodPerformance]', + 'total': 'list[PodPerformance]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items', + 'total': 'total' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.PodPerformance] + total=None, # type: List[models.PodPerformance] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[PodPerformance]): Performance data. If `total_only=true`, the `items` list will be empty. + total (list[PodPerformance]): The aggregate value of all items after filtering. When applicable, the average value is displayed instead. If applicable, the values are displayed for each field. + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + if total is not None: + self.total = total + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PodPerformanceGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PodPerformanceGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PodPerformanceGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PodPerformanceGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(PodPerformanceGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, PodPerformanceGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/pod_performance_replication.py b/pypureclient/flasharray/FA_2_26/models/pod_performance_replication.py new file mode 100644 index 000000000..f8d93bfb1 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/pod_performance_replication.py @@ -0,0 +1,168 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class PodPerformanceReplication(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'continuous_bytes_per_sec': 'ReplicationPerformanceWithTotal', + 'periodic_bytes_per_sec': 'ReplicationPerformanceWithTotal', + 'pod': 'FixedReference', + 'resync_bytes_per_sec': 'ReplicationPerformanceWithTotal', + 'sync_bytes_per_sec': 'ReplicationPerformanceWithTotal', + 'time': 'int', + 'total_bytes_per_sec': 'int' + } + + attribute_map = { + 'continuous_bytes_per_sec': 'continuous_bytes_per_sec', + 'periodic_bytes_per_sec': 'periodic_bytes_per_sec', + 'pod': 'pod', + 'resync_bytes_per_sec': 'resync_bytes_per_sec', + 'sync_bytes_per_sec': 'sync_bytes_per_sec', + 'time': 'time', + 'total_bytes_per_sec': 'total_bytes_per_sec' + } + + required_args = { + } + + def __init__( + self, + continuous_bytes_per_sec=None, # type: models.ReplicationPerformanceWithTotal + periodic_bytes_per_sec=None, # type: models.ReplicationPerformanceWithTotal + pod=None, # type: models.FixedReference + resync_bytes_per_sec=None, # type: models.ReplicationPerformanceWithTotal + sync_bytes_per_sec=None, # type: models.ReplicationPerformanceWithTotal + time=None, # type: int + total_bytes_per_sec=None, # type: int + ): + """ + Keyword args: + continuous_bytes_per_sec (ReplicationPerformanceWithTotal): Total bytes transmitted or received per second for continuous replication. The continuous replication feature is used for disaster recovery on FlashArray and provides a recovery point objective (RPO) of significantly less than 30s. + periodic_bytes_per_sec (ReplicationPerformanceWithTotal): Total bytes transmitted or received per second for periodic replication. + pod (FixedReference): Reference to the pod that the performance data is associated with. + resync_bytes_per_sec (ReplicationPerformanceWithTotal): Total bytes transmitted or received per second during resync replication. Resync replication is the mechanism to bring two arrays into sync. This may occur during an initial pod stretch, or, in case of outage, when two arrays reestablish connection. After the connection is restored, the array that was online starts replicating pod data to its peer array until the pod is once again in sync. + sync_bytes_per_sec (ReplicationPerformanceWithTotal): Total bytes transmitted or received per second for synchronous replication. + time (int): Sample time in milliseconds since the UNIX epoch. + total_bytes_per_sec (int): Total bytes transmitted and received per second for all types of replication. + """ + if continuous_bytes_per_sec is not None: + self.continuous_bytes_per_sec = continuous_bytes_per_sec + if periodic_bytes_per_sec is not None: + self.periodic_bytes_per_sec = periodic_bytes_per_sec + if pod is not None: + self.pod = pod + if resync_bytes_per_sec is not None: + self.resync_bytes_per_sec = resync_bytes_per_sec + if sync_bytes_per_sec is not None: + self.sync_bytes_per_sec = sync_bytes_per_sec + if time is not None: + self.time = time + if total_bytes_per_sec is not None: + self.total_bytes_per_sec = total_bytes_per_sec + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PodPerformanceReplication`".format(key)) + if key == "total_bytes_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `total_bytes_per_sec`, must be a value greater than or equal to `0`") + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PodPerformanceReplication`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PodPerformanceReplication`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PodPerformanceReplication`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(PodPerformanceReplication, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, PodPerformanceReplication): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/pod_performance_replication_by_array.py b/pypureclient/flasharray/FA_2_26/models/pod_performance_replication_by_array.py new file mode 100644 index 000000000..a77a5fe0a --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/pod_performance_replication_by_array.py @@ -0,0 +1,174 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class PodPerformanceReplicationByArray(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'continuous_bytes_per_sec': 'ReplicationPerformanceWithTotal', + 'periodic_bytes_per_sec': 'ReplicationPerformanceWithTotal', + 'pod': 'FixedReference', + 'resync_bytes_per_sec': 'ReplicationPerformanceWithTotal', + 'sync_bytes_per_sec': 'ReplicationPerformanceWithTotal', + 'time': 'int', + 'total_bytes_per_sec': 'int', + 'array': 'Resource' + } + + attribute_map = { + 'continuous_bytes_per_sec': 'continuous_bytes_per_sec', + 'periodic_bytes_per_sec': 'periodic_bytes_per_sec', + 'pod': 'pod', + 'resync_bytes_per_sec': 'resync_bytes_per_sec', + 'sync_bytes_per_sec': 'sync_bytes_per_sec', + 'time': 'time', + 'total_bytes_per_sec': 'total_bytes_per_sec', + 'array': 'array' + } + + required_args = { + } + + def __init__( + self, + continuous_bytes_per_sec=None, # type: models.ReplicationPerformanceWithTotal + periodic_bytes_per_sec=None, # type: models.ReplicationPerformanceWithTotal + pod=None, # type: models.FixedReference + resync_bytes_per_sec=None, # type: models.ReplicationPerformanceWithTotal + sync_bytes_per_sec=None, # type: models.ReplicationPerformanceWithTotal + time=None, # type: int + total_bytes_per_sec=None, # type: int + array=None, # type: models.Resource + ): + """ + Keyword args: + continuous_bytes_per_sec (ReplicationPerformanceWithTotal): Total bytes transmitted or received per second for continuous replication. The continuous replication feature is used for disaster recovery on FlashArray and provides a recovery point objective (RPO) of significantly less than 30s. + periodic_bytes_per_sec (ReplicationPerformanceWithTotal): Total bytes transmitted or received per second for periodic replication. + pod (FixedReference): Reference to the pod that the performance data is associated with. + resync_bytes_per_sec (ReplicationPerformanceWithTotal): Total bytes transmitted or received per second during resync replication. Resync replication is the mechanism to bring two arrays into sync. This may occur during an initial pod stretch, or, in case of outage, when two arrays reestablish connection. After the connection is restored, the array that was online starts replicating pod data to its peer array until the pod is once again in sync. + sync_bytes_per_sec (ReplicationPerformanceWithTotal): Total bytes transmitted or received per second for synchronous replication. + time (int): Sample time in milliseconds since the UNIX epoch. + total_bytes_per_sec (int): Total bytes transmitted and received per second for all types of replication. + array (Resource): Array that shares this pod. + """ + if continuous_bytes_per_sec is not None: + self.continuous_bytes_per_sec = continuous_bytes_per_sec + if periodic_bytes_per_sec is not None: + self.periodic_bytes_per_sec = periodic_bytes_per_sec + if pod is not None: + self.pod = pod + if resync_bytes_per_sec is not None: + self.resync_bytes_per_sec = resync_bytes_per_sec + if sync_bytes_per_sec is not None: + self.sync_bytes_per_sec = sync_bytes_per_sec + if time is not None: + self.time = time + if total_bytes_per_sec is not None: + self.total_bytes_per_sec = total_bytes_per_sec + if array is not None: + self.array = array + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PodPerformanceReplicationByArray`".format(key)) + if key == "total_bytes_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `total_bytes_per_sec`, must be a value greater than or equal to `0`") + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PodPerformanceReplicationByArray`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PodPerformanceReplicationByArray`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PodPerformanceReplicationByArray`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(PodPerformanceReplicationByArray, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, PodPerformanceReplicationByArray): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/pod_performance_replication_by_array_get_response.py b/pypureclient/flasharray/FA_2_26/models/pod_performance_replication_by_array_get_response.py new file mode 100644 index 000000000..a72dba7db --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/pod_performance_replication_by_array_get_response.py @@ -0,0 +1,153 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class PodPerformanceReplicationByArrayGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[PodPerformanceReplicationByArray]', + 'total': 'list[PodPerformanceReplicationByArray]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items', + 'total': 'total' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.PodPerformanceReplicationByArray] + total=None, # type: List[models.PodPerformanceReplicationByArray] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[PodPerformanceReplicationByArray]): A list of pod performance replication objects, arranged by array. + total (list[PodPerformanceReplicationByArray]): The aggregate value of all items after filtering. When applicable, the average value is displayed instead. The values are displayed for each field if meaningful. + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + if total is not None: + self.total = total + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PodPerformanceReplicationByArrayGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PodPerformanceReplicationByArrayGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PodPerformanceReplicationByArrayGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PodPerformanceReplicationByArrayGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(PodPerformanceReplicationByArrayGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, PodPerformanceReplicationByArrayGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/pod_performance_replication_by_array_response.py b/pypureclient/flasharray/FA_2_26/models/pod_performance_replication_by_array_response.py new file mode 100644 index 000000000..fcb8ecb98 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/pod_performance_replication_by_array_response.py @@ -0,0 +1,135 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class PodPerformanceReplicationByArrayResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'items': 'list[PodPerformanceReplicationByArray]', + 'total': 'list[PodPerformanceReplicationByArray]' + } + + attribute_map = { + 'items': 'items', + 'total': 'total' + } + + required_args = { + } + + def __init__( + self, + items=None, # type: List[models.PodPerformanceReplicationByArray] + total=None, # type: List[models.PodPerformanceReplicationByArray] + ): + """ + Keyword args: + items (list[PodPerformanceReplicationByArray]): A list of pod performance replication objects, arranged by array. + total (list[PodPerformanceReplicationByArray]): The aggregate value of all items after filtering. When applicable, the average value is displayed instead. The values are displayed for each field if meaningful. + """ + if items is not None: + self.items = items + if total is not None: + self.total = total + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PodPerformanceReplicationByArrayResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PodPerformanceReplicationByArrayResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PodPerformanceReplicationByArrayResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PodPerformanceReplicationByArrayResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(PodPerformanceReplicationByArrayResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, PodPerformanceReplicationByArrayResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/pod_performance_replication_get_response.py b/pypureclient/flasharray/FA_2_26/models/pod_performance_replication_get_response.py new file mode 100644 index 000000000..214042f92 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/pod_performance_replication_get_response.py @@ -0,0 +1,153 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class PodPerformanceReplicationGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[PodPerformanceReplication]', + 'total': 'list[PodPerformanceReplication]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items', + 'total': 'total' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.PodPerformanceReplication] + total=None, # type: List[models.PodPerformanceReplication] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[PodPerformanceReplication]): A list of pod performance replication objects. + total (list[PodPerformanceReplication]): The aggregate value of all items after filtering. For real-time performance, the values are aggregated for the latest timestamp. For historical performance, the values are aggregated for each timestamp from `start_time` to `end_time`. When applicable, the average value is displayed instead. The values are displayed for each field if meaningful. + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + if total is not None: + self.total = total + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PodPerformanceReplicationGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PodPerformanceReplicationGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PodPerformanceReplicationGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PodPerformanceReplicationGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(PodPerformanceReplicationGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, PodPerformanceReplicationGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/pod_performance_replication_response.py b/pypureclient/flasharray/FA_2_26/models/pod_performance_replication_response.py new file mode 100644 index 000000000..3a9fec51e --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/pod_performance_replication_response.py @@ -0,0 +1,135 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class PodPerformanceReplicationResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'items': 'list[PodPerformanceReplication]', + 'total': 'list[PodPerformanceReplication]' + } + + attribute_map = { + 'items': 'items', + 'total': 'total' + } + + required_args = { + } + + def __init__( + self, + items=None, # type: List[models.PodPerformanceReplication] + total=None, # type: List[models.PodPerformanceReplication] + ): + """ + Keyword args: + items (list[PodPerformanceReplication]): A list of pod performance replication objects. + total (list[PodPerformanceReplication]): The aggregate value of all items after filtering. For real-time performance, the values are aggregated for the latest timestamp. For historical performance, the values are aggregated for each timestamp from `start_time` to `end_time`. When applicable, the average value is displayed instead. The values are displayed for each field if meaningful. + """ + if items is not None: + self.items = items + if total is not None: + self.total = total + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PodPerformanceReplicationResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PodPerformanceReplicationResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PodPerformanceReplicationResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PodPerformanceReplicationResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(PodPerformanceReplicationResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, PodPerformanceReplicationResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/pod_post.py b/pypureclient/flasharray/FA_2_26/models/pod_post.py new file mode 100644 index 000000000..3fef95fbb --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/pod_post.py @@ -0,0 +1,158 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class PodPost(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'id': 'str', + 'name': 'str', + 'failover_preferences': 'list[Reference]', + 'source': 'Reference', + 'quota_limit': 'int' + } + + attribute_map = { + 'id': 'id', + 'name': 'name', + 'failover_preferences': 'failover_preferences', + 'source': 'source', + 'quota_limit': 'quota_limit' + } + + required_args = { + } + + def __init__( + self, + id=None, # type: str + name=None, # type: str + failover_preferences=None, # type: List[models.Reference] + source=None, # type: models.Reference + quota_limit=None, # type: int + ): + """ + Keyword args: + id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. + name (str): A locally unique, system-generated name. The name cannot be modified. + failover_preferences (list[Reference]): Determines which array within a stretched pod should be given priority to stay online should the arrays ever lose contact with each other. The current array and any peer arrays that are connected to the current array for synchronous replication can be added to a pod for failover preference. By default, `failover_preferences=null`, meaning no arrays have been configured for failover preference. Enter multiple arrays in comma-separated format. To clear the list of failover preferences, set to an empty list `[]`. + source (Reference): The source pod from where data is cloned to create the new pod. + quota_limit (int): The logical quota limit of the pod, measured in bytes. Must be a multiple of 512. + """ + if id is not None: + self.id = id + if name is not None: + self.name = name + if failover_preferences is not None: + self.failover_preferences = failover_preferences + if source is not None: + self.source = source + if quota_limit is not None: + self.quota_limit = quota_limit + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PodPost`".format(key)) + if key == "quota_limit" and value is not None: + if value > 4503599627370496: + raise ValueError("Invalid value for `quota_limit`, value must be less than or equal to `4503599627370496`") + if value < 1048576: + raise ValueError("Invalid value for `quota_limit`, must be a value greater than or equal to `1048576`") + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PodPost`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PodPost`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PodPost`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(PodPost, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, PodPost): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/pod_replica_link.py b/pypureclient/flasharray/FA_2_26/models/pod_replica_link.py new file mode 100644 index 000000000..a151540f1 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/pod_replica_link.py @@ -0,0 +1,177 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class PodReplicaLink(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'id': 'str', + 'direction': 'str', + 'lag': 'int', + 'local_pod': 'FixedReference', + 'paused': 'bool', + 'recovery_point': 'int', + 'remote_pod': 'FixedReference', + 'remotes': 'list[FixedReference]', + 'status': 'str' + } + + attribute_map = { + 'id': 'id', + 'direction': 'direction', + 'lag': 'lag', + 'local_pod': 'local_pod', + 'paused': 'paused', + 'recovery_point': 'recovery_point', + 'remote_pod': 'remote_pod', + 'remotes': 'remotes', + 'status': 'status' + } + + required_args = { + } + + def __init__( + self, + id=None, # type: str + direction=None, # type: str + lag=None, # type: int + local_pod=None, # type: models.FixedReference + paused=None, # type: bool + recovery_point=None, # type: int + remote_pod=None, # type: models.FixedReference + remotes=None, # type: List[models.FixedReference] + status=None, # type: str + ): + """ + Keyword args: + id (str): A non-modifiable, globally unique ID chosen by the system. + direction (str): The direction of replication. Valid values include `inbound` and `outbound`. + lag (int): Duration in milliseconds that represents how far behind the replication target is from the source. This is the time difference between current time and `recovery_point`. + local_pod (FixedReference): Reference to a local pod. + paused (bool): Returns a value of `true` if the replica link is in a `paused` state. Returns a value of `false` if the replica link is not in a `paused` state. + recovery_point (int): Time when the last piece of data was replicated, in milliseconds since the UNIX epoch, and the recovery point if the target pod is promoted. If the pod is currently baselining, then the value is `null`. + remote_pod (FixedReference): Reference to a remote pod. + remotes (list[FixedReference]): A list of remote arrays that share this pod. + status (str): Status of the replica-link. Valid values include `replicating`, `baselining`, `paused`, `quiescing`, `quiesced`, `idle`, and `unhealthy`. + """ + if id is not None: + self.id = id + if direction is not None: + self.direction = direction + if lag is not None: + self.lag = lag + if local_pod is not None: + self.local_pod = local_pod + if paused is not None: + self.paused = paused + if recovery_point is not None: + self.recovery_point = recovery_point + if remote_pod is not None: + self.remote_pod = remote_pod + if remotes is not None: + self.remotes = remotes + if status is not None: + self.status = status + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PodReplicaLink`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PodReplicaLink`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PodReplicaLink`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PodReplicaLink`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(PodReplicaLink, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, PodReplicaLink): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/pod_replica_link_get_response.py b/pypureclient/flasharray/FA_2_26/models/pod_replica_link_get_response.py new file mode 100644 index 000000000..1e88b74e6 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/pod_replica_link_get_response.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class PodReplicaLinkGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[PodReplicaLink]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.PodReplicaLink] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[PodReplicaLink]): A list of pod replica link objects. + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PodReplicaLinkGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PodReplicaLinkGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PodReplicaLinkGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PodReplicaLinkGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(PodReplicaLinkGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, PodReplicaLinkGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/pod_replica_link_lag.py b/pypureclient/flasharray/FA_2_26/models/pod_replica_link_lag.py new file mode 100644 index 000000000..a6134c269 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/pod_replica_link_lag.py @@ -0,0 +1,177 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class PodReplicaLinkLag(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'id': 'str', + 'direction': 'str', + 'lag': 'ReplicaLinkLag', + 'local_pod': 'FixedReference', + 'recovery_point': 'int', + 'remote_pod': 'FixedReference', + 'remotes': 'list[FixedReference]', + 'status': 'str', + 'time': 'int' + } + + attribute_map = { + 'id': 'id', + 'direction': 'direction', + 'lag': 'lag', + 'local_pod': 'local_pod', + 'recovery_point': 'recovery_point', + 'remote_pod': 'remote_pod', + 'remotes': 'remotes', + 'status': 'status', + 'time': 'time' + } + + required_args = { + } + + def __init__( + self, + id=None, # type: str + direction=None, # type: str + lag=None, # type: models.ReplicaLinkLag + local_pod=None, # type: models.FixedReference + recovery_point=None, # type: int + remote_pod=None, # type: models.FixedReference + remotes=None, # type: List[models.FixedReference] + status=None, # type: str + time=None, # type: int + ): + """ + Keyword args: + id (str): A non-modifiable, globally unique ID chosen by the system. + direction (str): The direction of replication. Valid values include `inbound` and `outbound`. + lag (ReplicaLinkLag): Duration in milliseconds that indicates how far behind the replication target is from the source. + local_pod (FixedReference): Reference to a local pod. + recovery_point (int): Time when the last piece of data was replicated, in milliseconds since the UNIX epoch, and the recovery point if the pod is promoted. If the pod is baselining then the value is `null`. + remote_pod (FixedReference): Reference to a remote pod. + remotes (list[FixedReference]): Reference to a remote array. + status (str): Status of the replica-link. Valid values include `replicating`, `baselining`, `paused`, `quiescing`, `quiesced`, `idle`, and `unhealthy`. + time (int): Sample time in milliseconds since the UNIX epoch. + """ + if id is not None: + self.id = id + if direction is not None: + self.direction = direction + if lag is not None: + self.lag = lag + if local_pod is not None: + self.local_pod = local_pod + if recovery_point is not None: + self.recovery_point = recovery_point + if remote_pod is not None: + self.remote_pod = remote_pod + if remotes is not None: + self.remotes = remotes + if status is not None: + self.status = status + if time is not None: + self.time = time + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PodReplicaLinkLag`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PodReplicaLinkLag`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PodReplicaLinkLag`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PodReplicaLinkLag`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(PodReplicaLinkLag, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, PodReplicaLinkLag): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/pod_replica_link_lag_get_response.py b/pypureclient/flasharray/FA_2_26/models/pod_replica_link_lag_get_response.py new file mode 100644 index 000000000..11c8b00a1 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/pod_replica_link_lag_get_response.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class PodReplicaLinkLagGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[PodReplicaLinkLag]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.PodReplicaLinkLag] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[PodReplicaLinkLag]): A list of pod replica link lag objects. + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PodReplicaLinkLagGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PodReplicaLinkLagGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PodReplicaLinkLagGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PodReplicaLinkLagGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(PodReplicaLinkLagGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, PodReplicaLinkLagGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/pod_replica_link_lag_response.py b/pypureclient/flasharray/FA_2_26/models/pod_replica_link_lag_response.py new file mode 100644 index 000000000..e3a405fd2 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/pod_replica_link_lag_response.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class PodReplicaLinkLagResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'items': 'list[PodReplicaLinkLag]' + } + + attribute_map = { + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + items=None, # type: List[models.PodReplicaLinkLag] + ): + """ + Keyword args: + items (list[PodReplicaLinkLag]): A list of pod replica link lag objects. + """ + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PodReplicaLinkLagResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PodReplicaLinkLagResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PodReplicaLinkLagResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PodReplicaLinkLagResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(PodReplicaLinkLagResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, PodReplicaLinkLagResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/pod_replica_link_patch.py b/pypureclient/flasharray/FA_2_26/models/pod_replica_link_patch.py new file mode 100644 index 000000000..fc6f78337 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/pod_replica_link_patch.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class PodReplicaLinkPatch(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'paused': 'bool' + } + + attribute_map = { + 'paused': 'paused' + } + + required_args = { + } + + def __init__( + self, + paused=None, # type: bool + ): + """ + Keyword args: + paused (bool): Returns a value of `true` if the replica link is to be created in a `paused` state. Returns a value of `false` if the replica link is to be created not in a `paused` state. If not specified, defaults to `false`. + """ + if paused is not None: + self.paused = paused + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PodReplicaLinkPatch`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PodReplicaLinkPatch`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PodReplicaLinkPatch`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PodReplicaLinkPatch`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(PodReplicaLinkPatch, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, PodReplicaLinkPatch): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/pod_replica_link_performance.py b/pypureclient/flasharray/FA_2_26/models/pod_replica_link_performance.py new file mode 100644 index 000000000..a73021945 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/pod_replica_link_performance.py @@ -0,0 +1,186 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class PodReplicaLinkPerformance(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'id': 'str', + 'bytes_per_sec_from_remote': 'int', + 'bytes_per_sec_to_remote': 'int', + 'bytes_per_sec_total': 'int', + 'direction': 'str', + 'local_pod': 'FixedReference', + 'remote_pod': 'FixedReference', + 'remotes': 'list[FixedReference]', + 'time': 'int' + } + + attribute_map = { + 'id': 'id', + 'bytes_per_sec_from_remote': 'bytes_per_sec_from_remote', + 'bytes_per_sec_to_remote': 'bytes_per_sec_to_remote', + 'bytes_per_sec_total': 'bytes_per_sec_total', + 'direction': 'direction', + 'local_pod': 'local_pod', + 'remote_pod': 'remote_pod', + 'remotes': 'remotes', + 'time': 'time' + } + + required_args = { + } + + def __init__( + self, + id=None, # type: str + bytes_per_sec_from_remote=None, # type: int + bytes_per_sec_to_remote=None, # type: int + bytes_per_sec_total=None, # type: int + direction=None, # type: str + local_pod=None, # type: models.FixedReference + remote_pod=None, # type: models.FixedReference + remotes=None, # type: List[models.FixedReference] + time=None, # type: int + ): + """ + Keyword args: + id (str): A non-modifiable, globally unique ID chosen by the system. + bytes_per_sec_from_remote (int): The number of bytes received per second from a remote array. + bytes_per_sec_to_remote (int): The number of bytes transmitted per second to a remote array. + bytes_per_sec_total (int): Total bytes transmitted and received per second. + direction (str): The direction of replication. Valid values are `inbound` and `outbound`. + local_pod (FixedReference): Reference to a local pod. + remote_pod (FixedReference): Reference to a remote pod. + remotes (list[FixedReference]): Reference to a remote array. + time (int): Sample time in milliseconds since the UNIX epoch. + """ + if id is not None: + self.id = id + if bytes_per_sec_from_remote is not None: + self.bytes_per_sec_from_remote = bytes_per_sec_from_remote + if bytes_per_sec_to_remote is not None: + self.bytes_per_sec_to_remote = bytes_per_sec_to_remote + if bytes_per_sec_total is not None: + self.bytes_per_sec_total = bytes_per_sec_total + if direction is not None: + self.direction = direction + if local_pod is not None: + self.local_pod = local_pod + if remote_pod is not None: + self.remote_pod = remote_pod + if remotes is not None: + self.remotes = remotes + if time is not None: + self.time = time + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PodReplicaLinkPerformance`".format(key)) + if key == "bytes_per_sec_from_remote" and value is not None: + if value < 0: + raise ValueError("Invalid value for `bytes_per_sec_from_remote`, must be a value greater than or equal to `0`") + if key == "bytes_per_sec_to_remote" and value is not None: + if value < 0: + raise ValueError("Invalid value for `bytes_per_sec_to_remote`, must be a value greater than or equal to `0`") + if key == "bytes_per_sec_total" and value is not None: + if value < 0: + raise ValueError("Invalid value for `bytes_per_sec_total`, must be a value greater than or equal to `0`") + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PodReplicaLinkPerformance`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PodReplicaLinkPerformance`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PodReplicaLinkPerformance`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(PodReplicaLinkPerformance, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, PodReplicaLinkPerformance): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/pod_replica_link_performance_replication.py b/pypureclient/flasharray/FA_2_26/models/pod_replica_link_performance_replication.py new file mode 100644 index 000000000..39ae8c994 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/pod_replica_link_performance_replication.py @@ -0,0 +1,186 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class PodReplicaLinkPerformanceReplication(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'id': 'str', + 'bytes_per_sec_from_remote': 'int', + 'bytes_per_sec_to_remote': 'int', + 'bytes_per_sec_total': 'int', + 'direction': 'str', + 'local_pod': 'FixedReference', + 'remote_pod': 'FixedReference', + 'remotes': 'list[FixedReference]', + 'time': 'int' + } + + attribute_map = { + 'id': 'id', + 'bytes_per_sec_from_remote': 'bytes_per_sec_from_remote', + 'bytes_per_sec_to_remote': 'bytes_per_sec_to_remote', + 'bytes_per_sec_total': 'bytes_per_sec_total', + 'direction': 'direction', + 'local_pod': 'local_pod', + 'remote_pod': 'remote_pod', + 'remotes': 'remotes', + 'time': 'time' + } + + required_args = { + } + + def __init__( + self, + id=None, # type: str + bytes_per_sec_from_remote=None, # type: int + bytes_per_sec_to_remote=None, # type: int + bytes_per_sec_total=None, # type: int + direction=None, # type: str + local_pod=None, # type: models.FixedReference + remote_pod=None, # type: models.FixedReference + remotes=None, # type: List[models.FixedReference] + time=None, # type: int + ): + """ + Keyword args: + id (str): A non-modifiable, globally unique ID chosen by the system. + bytes_per_sec_from_remote (int): The number of bytes received per second from a remote array. + bytes_per_sec_to_remote (int): The number of bytes transmitted per second to a remote array. + bytes_per_sec_total (int): Total bytes transmitted and received per second. + direction (str): The direction of replication. Valid values are `inbound` and `outbound`. + local_pod (FixedReference): Reference to a local pod. + remote_pod (FixedReference): Reference to a remote pod. + remotes (list[FixedReference]): Reference to a remote array. + time (int): Sample time in milliseconds since the UNIX epoch. + """ + if id is not None: + self.id = id + if bytes_per_sec_from_remote is not None: + self.bytes_per_sec_from_remote = bytes_per_sec_from_remote + if bytes_per_sec_to_remote is not None: + self.bytes_per_sec_to_remote = bytes_per_sec_to_remote + if bytes_per_sec_total is not None: + self.bytes_per_sec_total = bytes_per_sec_total + if direction is not None: + self.direction = direction + if local_pod is not None: + self.local_pod = local_pod + if remote_pod is not None: + self.remote_pod = remote_pod + if remotes is not None: + self.remotes = remotes + if time is not None: + self.time = time + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PodReplicaLinkPerformanceReplication`".format(key)) + if key == "bytes_per_sec_from_remote" and value is not None: + if value < 0: + raise ValueError("Invalid value for `bytes_per_sec_from_remote`, must be a value greater than or equal to `0`") + if key == "bytes_per_sec_to_remote" and value is not None: + if value < 0: + raise ValueError("Invalid value for `bytes_per_sec_to_remote`, must be a value greater than or equal to `0`") + if key == "bytes_per_sec_total" and value is not None: + if value < 0: + raise ValueError("Invalid value for `bytes_per_sec_total`, must be a value greater than or equal to `0`") + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PodReplicaLinkPerformanceReplication`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PodReplicaLinkPerformanceReplication`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PodReplicaLinkPerformanceReplication`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(PodReplicaLinkPerformanceReplication, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, PodReplicaLinkPerformanceReplication): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/pod_replica_link_performance_replication_get_response.py b/pypureclient/flasharray/FA_2_26/models/pod_replica_link_performance_replication_get_response.py new file mode 100644 index 000000000..1e20e32cf --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/pod_replica_link_performance_replication_get_response.py @@ -0,0 +1,153 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class PodReplicaLinkPerformanceReplicationGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[PodReplicaLinkPerformanceReplication]', + 'total': 'list[PodReplicaLinkPerformanceReplication]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items', + 'total': 'total' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.PodReplicaLinkPerformanceReplication] + total=None, # type: List[models.PodReplicaLinkPerformanceReplication] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[PodReplicaLinkPerformanceReplication]): A list of pod replica link performance objects. + total (list[PodReplicaLinkPerformanceReplication]): The aggregate value of all items after filtering. For real-time performance, the values are aggregated for the latest timestamp. For historical performance, the values are aggregated for each timestamp from `start_time` to `end_time`. Where it makes more sense, the average value is displayed instead. The values are displayed for each field where meaningful. + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + if total is not None: + self.total = total + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PodReplicaLinkPerformanceReplicationGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PodReplicaLinkPerformanceReplicationGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PodReplicaLinkPerformanceReplicationGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PodReplicaLinkPerformanceReplicationGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(PodReplicaLinkPerformanceReplicationGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, PodReplicaLinkPerformanceReplicationGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/pod_replica_link_performance_replication_response.py b/pypureclient/flasharray/FA_2_26/models/pod_replica_link_performance_replication_response.py new file mode 100644 index 000000000..e0998dfc6 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/pod_replica_link_performance_replication_response.py @@ -0,0 +1,135 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class PodReplicaLinkPerformanceReplicationResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'items': 'list[PodReplicaLinkPerformanceReplication]', + 'total': 'list[PodReplicaLinkPerformanceReplication]' + } + + attribute_map = { + 'items': 'items', + 'total': 'total' + } + + required_args = { + } + + def __init__( + self, + items=None, # type: List[models.PodReplicaLinkPerformanceReplication] + total=None, # type: List[models.PodReplicaLinkPerformanceReplication] + ): + """ + Keyword args: + items (list[PodReplicaLinkPerformanceReplication]): A list of pod replica link performance objects. + total (list[PodReplicaLinkPerformanceReplication]): The aggregate value of all items after filtering. For real-time performance, the values are aggregated for the latest timestamp. For historical performance, the values are aggregated for each timestamp from `start_time` to `end_time`. Where it makes more sense, the average value is displayed instead. The values are displayed for each field where meaningful. + """ + if items is not None: + self.items = items + if total is not None: + self.total = total + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PodReplicaLinkPerformanceReplicationResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PodReplicaLinkPerformanceReplicationResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PodReplicaLinkPerformanceReplicationResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PodReplicaLinkPerformanceReplicationResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(PodReplicaLinkPerformanceReplicationResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, PodReplicaLinkPerformanceReplicationResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/pod_replica_link_response.py b/pypureclient/flasharray/FA_2_26/models/pod_replica_link_response.py new file mode 100644 index 000000000..286860e46 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/pod_replica_link_response.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class PodReplicaLinkResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'items': 'list[PodReplicaLink]' + } + + attribute_map = { + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + items=None, # type: List[models.PodReplicaLink] + ): + """ + Keyword args: + items (list[PodReplicaLink]): A list of pod replica link objects. + """ + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PodReplicaLinkResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PodReplicaLinkResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PodReplicaLinkResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PodReplicaLinkResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(PodReplicaLinkResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, PodReplicaLinkResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/pod_response.py b/pypureclient/flasharray/FA_2_26/models/pod_response.py new file mode 100644 index 000000000..64f961e4b --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/pod_response.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class PodResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'items': 'list[Pod]' + } + + attribute_map = { + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + items=None, # type: List[models.Pod] + ): + """ + Keyword args: + items (list[Pod]) + """ + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PodResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PodResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PodResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PodResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(PodResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, PodResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/pod_space.py b/pypureclient/flasharray/FA_2_26/models/pod_space.py new file mode 100644 index 000000000..33b937a84 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/pod_space.py @@ -0,0 +1,254 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class PodSpace(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'data_reduction': 'float', + 'shared': 'int', + 'snapshots': 'int', + 'system': 'int', + 'thin_provisioning': 'float', + 'total_physical': 'int', + 'total_provisioned': 'int', + 'total_reduction': 'float', + 'unique': 'int', + 'virtual': 'int', + 'used_provisioned': 'int', + 'total_used': 'int', + 'replication': 'int', + 'shared_effective': 'int', + 'replication_effective': 'int' + } + + attribute_map = { + 'data_reduction': 'data_reduction', + 'shared': 'shared', + 'snapshots': 'snapshots', + 'system': 'system', + 'thin_provisioning': 'thin_provisioning', + 'total_physical': 'total_physical', + 'total_provisioned': 'total_provisioned', + 'total_reduction': 'total_reduction', + 'unique': 'unique', + 'virtual': 'virtual', + 'used_provisioned': 'used_provisioned', + 'total_used': 'total_used', + 'replication': 'replication', + 'shared_effective': 'shared_effective', + 'replication_effective': 'replication_effective' + } + + required_args = { + } + + def __init__( + self, + data_reduction=None, # type: float + shared=None, # type: int + snapshots=None, # type: int + system=None, # type: int + thin_provisioning=None, # type: float + total_physical=None, # type: int + total_provisioned=None, # type: int + total_reduction=None, # type: float + unique=None, # type: int + virtual=None, # type: int + used_provisioned=None, # type: int + total_used=None, # type: int + replication=None, # type: int + shared_effective=None, # type: int + replication_effective=None, # type: int + ): + """ + Keyword args: + data_reduction (float): The ratio of mapped sectors within a volume versus the amount of physical space the data occupies after data compression and deduplication. The data reduction ratio does not include thin provisioning savings. For example, a data reduction ratio of 5:1 means that for every 5 MB the host writes to the array, 1 MB is stored on the array's flash modules. + shared (int): The physical space occupied by deduplicated data, meaning that the space is shared with other volumes and snapshots as a result of data deduplication. Measured in bytes. On Evergreen//One arrays, this is the effective space contributed by data that is not unique to a specific volume, managed directory, or snapshot, measured in bytes. + snapshots (int): The physical space occupied by data unique to one or more snapshots. Measured in bytes. On Evergreen//One arrays, this is the effective space contributed by data unique to one or more snapshots, measured in bytes. + system (int): The physical space occupied by internal array metadata. Measured in bytes. + thin_provisioning (float): The percentage of volume sectors that do not contain host-written data because the hosts have not written data to them or the sectors have been explicitly trimmed. + total_physical (int): This field has been deprecated. Please use the `total_used` field, as it contains the same information. + total_provisioned (int): The provisioned size of a volume for a single volume, host or host group, protocol endpoint, managed directory, and containers can be infinite or measured in bytes. Infinite is represented by `null`. The provisioned size for a host or host group, includes all volumes that are connected to the resource. The provisioned size for a protocol endpoint is `null'. The provisioned size for a managed directory is the quota limit if it or its parent has a managed directory configured, otherwise it defaults to `null`. The provisioned size for a container is the sum of the total_provisioned of the object it contains, capped by the container's quota limit (or the container's used_provisioned if current usage is above the quota limit), if any. Provisioned size represents the storage capacity reported to hosts. + total_reduction (float): The ratio of provisioned sectors within a volume versus the amount of physical space the data occupies after reduction via data compression and deduplication and with thin provisioning savings. Total reduction is data reduction with thin provisioning savings. For example, a total reduction ratio of 10:1 means that for every 10 MB of provisioned space, 1 MB is stored on the array's flash modules. + unique (int): The unique physical space occupied by customer data. Unique physical space does not include shared space, snapshots, and internal array metadata. Measured in bytes. On Evergreen//One arrays, this is the effective space contributed by unique customer data, measured in bytes. Unique data does not include shared space, snapshots, and internal array metadata. + virtual (int): The amount of logically written data that a volume or a snapshot references. Measured in bytes. + used_provisioned (int): The amount of logical space a container has consumed. The amount of logical space is compared against the quota limit if the container has one configured. Used provisioned does not include destroyed objects inside the container. For a destroyed container, used provisioned can include destroyed objects and represents how much logical space it would take to recover the container. + total_used (int): The total space contributed by customer data, measured in bytes. + replication (int): The space consumed by unique data that has not been replicated to the target pod, on source pods. The space consumed by unique data that has been replicated to the target, but not yet incorporated into the target pod, on target pods. On Evergreen//One arrays, this is the effective space consumed by unique data that has not been replicated to the target pod, on source pods. The effective space consumed by unique data that has been replicated to the target, but not yet incorporated into the target pod, on target pods. + shared_effective (int): This field has been deprecated. The effective space contributed by data that is not unique to a specific volume, managed directory, or snapshot, measured in bytes. Please use the `shared` field in the future, as it contains the same information for Evergreen//One arrays. + replication_effective (int): This field has been deprecated. The effective space consumed by unique data that has not been replicated to the target pod, on source pods. The effective space consumed by unique data that has been replicated to the target but not yet incorporated into the target pod, on target pods. Please use the `replication` field in the future, as it contains the same information for Evergreen//One arrays. + """ + if data_reduction is not None: + self.data_reduction = data_reduction + if shared is not None: + self.shared = shared + if snapshots is not None: + self.snapshots = snapshots + if system is not None: + self.system = system + if thin_provisioning is not None: + self.thin_provisioning = thin_provisioning + if total_physical is not None: + self.total_physical = total_physical + if total_provisioned is not None: + self.total_provisioned = total_provisioned + if total_reduction is not None: + self.total_reduction = total_reduction + if unique is not None: + self.unique = unique + if virtual is not None: + self.virtual = virtual + if used_provisioned is not None: + self.used_provisioned = used_provisioned + if total_used is not None: + self.total_used = total_used + if replication is not None: + self.replication = replication + if shared_effective is not None: + self.shared_effective = shared_effective + if replication_effective is not None: + self.replication_effective = replication_effective + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PodSpace`".format(key)) + if key == "shared" and value is not None: + if value < 0: + raise ValueError("Invalid value for `shared`, must be a value greater than or equal to `0`") + if key == "snapshots" and value is not None: + if value < 0: + raise ValueError("Invalid value for `snapshots`, must be a value greater than or equal to `0`") + if key == "system" and value is not None: + if value < 0: + raise ValueError("Invalid value for `system`, must be a value greater than or equal to `0`") + if key == "thin_provisioning" and value is not None: + if value > 1.0: + raise ValueError("Invalid value for `thin_provisioning`, value must be less than or equal to `1.0`") + if value < 0.0: + raise ValueError("Invalid value for `thin_provisioning`, must be a value greater than or equal to `0.0`") + if key == "total_physical" and value is not None: + if value < 0: + raise ValueError("Invalid value for `total_physical`, must be a value greater than or equal to `0`") + if key == "total_provisioned" and value is not None: + if value < 0: + raise ValueError("Invalid value for `total_provisioned`, must be a value greater than or equal to `0`") + if key == "unique" and value is not None: + if value < 0: + raise ValueError("Invalid value for `unique`, must be a value greater than or equal to `0`") + if key == "virtual" and value is not None: + if value < 0: + raise ValueError("Invalid value for `virtual`, must be a value greater than or equal to `0`") + if key == "used_provisioned" and value is not None: + if value < 0: + raise ValueError("Invalid value for `used_provisioned`, must be a value greater than or equal to `0`") + if key == "total_used" and value is not None: + if value < 0: + raise ValueError("Invalid value for `total_used`, must be a value greater than or equal to `0`") + if key == "replication" and value is not None: + if value < 0: + raise ValueError("Invalid value for `replication`, must be a value greater than or equal to `0`") + if key == "shared_effective" and value is not None: + if value < 0: + raise ValueError("Invalid value for `shared_effective`, must be a value greater than or equal to `0`") + if key == "replication_effective" and value is not None: + if value < 0: + raise ValueError("Invalid value for `replication_effective`, must be a value greater than or equal to `0`") + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PodSpace`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PodSpace`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PodSpace`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(PodSpace, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, PodSpace): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/policy.py b/pypureclient/flasharray/FA_2_26/models/policy.py new file mode 100644 index 000000000..3a532194f --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/policy.py @@ -0,0 +1,165 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class Policy(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'id': 'str', + 'name': 'str', + 'destroyed': 'bool', + 'enabled': 'bool', + 'pod': 'Reference', + 'policy_type': 'str', + 'time_remaining': 'int' + } + + attribute_map = { + 'id': 'id', + 'name': 'name', + 'destroyed': 'destroyed', + 'enabled': 'enabled', + 'pod': 'pod', + 'policy_type': 'policy_type', + 'time_remaining': 'time_remaining' + } + + required_args = { + } + + def __init__( + self, + id=None, # type: str + name=None, # type: str + destroyed=None, # type: bool + enabled=None, # type: bool + pod=None, # type: models.Reference + policy_type=None, # type: str + time_remaining=None, # type: int + ): + """ + Keyword args: + id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. + name (str): A user-specified name. The name must be locally unique and can be changed. + destroyed (bool): Returns a value of `true` if the policy has been destroyed and is pending eradication. The `time_remaining` value displays the amount of time left until the destroyed policy is permanently eradicated. Once the `time_remaining` period has elapsed, the policy is permanently eradicated and can no longer be recovered. + enabled (bool): Returns a value of `true` if the policy is enabled. + pod (Reference): A reference to the pod. + policy_type (str): The type of policy. Valid values include `autodir`, `nfs`, `smb`, `snapshot`, and `quota`. + time_remaining (int): The amount of time left, measured in milliseconds, until the destroyed policy is permanently eradicated. + """ + if id is not None: + self.id = id + if name is not None: + self.name = name + if destroyed is not None: + self.destroyed = destroyed + if enabled is not None: + self.enabled = enabled + if pod is not None: + self.pod = pod + if policy_type is not None: + self.policy_type = policy_type + if time_remaining is not None: + self.time_remaining = time_remaining + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Policy`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Policy`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Policy`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Policy`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(Policy, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, Policy): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/policy_get_response.py b/pypureclient/flasharray/FA_2_26/models/policy_get_response.py new file mode 100644 index 000000000..a663eb872 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/policy_get_response.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class PolicyGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[Policy]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.Policy] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[Policy]): Displays a list of all items after filtering. If applicable, the values are displayed for each name. + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(PolicyGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, PolicyGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/policy_member.py b/pypureclient/flasharray/FA_2_26/models/policy_member.py new file mode 100644 index 000000000..a5415b56e --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/policy_member.py @@ -0,0 +1,153 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class PolicyMember(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'destroyed': 'bool', + 'enabled': 'bool', + 'member': 'FixedReferenceWithType', + 'policy': 'FixedReferenceWithType', + 'time_remaining': 'int' + } + + attribute_map = { + 'destroyed': 'destroyed', + 'enabled': 'enabled', + 'member': 'member', + 'policy': 'policy', + 'time_remaining': 'time_remaining' + } + + required_args = { + } + + def __init__( + self, + destroyed=None, # type: bool + enabled=None, # type: bool + member=None, # type: models.FixedReferenceWithType + policy=None, # type: models.FixedReferenceWithType + time_remaining=None, # type: int + ): + """ + Keyword args: + destroyed (bool): Returns a value of `true` if the member is destroyed. + enabled (bool): Returns a value of `true` if the policy is enabled. + member (FixedReferenceWithType): Reference to the resource that the policy is applied to. + policy (FixedReferenceWithType): Reference to the policy. + time_remaining (int): The amount of time left, in milliseconds, until the destroyed policy member is permanently eradicated. + """ + if destroyed is not None: + self.destroyed = destroyed + if enabled is not None: + self.enabled = enabled + if member is not None: + self.member = member + if policy is not None: + self.policy = policy + if time_remaining is not None: + self.time_remaining = time_remaining + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyMember`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyMember`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyMember`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyMember`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(PolicyMember, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, PolicyMember): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/policy_member_export.py b/pypureclient/flasharray/FA_2_26/models/policy_member_export.py new file mode 100644 index 000000000..31083c9b6 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/policy_member_export.py @@ -0,0 +1,159 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class PolicyMemberExport(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'destroyed': 'bool', + 'enabled': 'bool', + 'member': 'FixedReferenceWithType', + 'policy': 'FixedReferenceWithType', + 'time_remaining': 'int', + 'export_name': 'str' + } + + attribute_map = { + 'destroyed': 'destroyed', + 'enabled': 'enabled', + 'member': 'member', + 'policy': 'policy', + 'time_remaining': 'time_remaining', + 'export_name': 'export_name' + } + + required_args = { + } + + def __init__( + self, + destroyed=None, # type: bool + enabled=None, # type: bool + member=None, # type: models.FixedReferenceWithType + policy=None, # type: models.FixedReferenceWithType + time_remaining=None, # type: int + export_name=None, # type: str + ): + """ + Keyword args: + destroyed (bool): Returns a value of `true` if the member is destroyed. + enabled (bool): Returns a value of `true` if the policy is enabled. + member (FixedReferenceWithType): Reference to the resource that the policy is applied to. + policy (FixedReferenceWithType): Reference to the policy. + time_remaining (int): The amount of time left, in milliseconds, until the destroyed policy member is permanently eradicated. + export_name (str): The export name used to access this export. + """ + if destroyed is not None: + self.destroyed = destroyed + if enabled is not None: + self.enabled = enabled + if member is not None: + self.member = member + if policy is not None: + self.policy = policy + if time_remaining is not None: + self.time_remaining = time_remaining + if export_name is not None: + self.export_name = export_name + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyMemberExport`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyMemberExport`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyMemberExport`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyMemberExport`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(PolicyMemberExport, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, PolicyMemberExport): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/policy_member_export_get_response.py b/pypureclient/flasharray/FA_2_26/models/policy_member_export_get_response.py new file mode 100644 index 000000000..14574897f --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/policy_member_export_get_response.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class PolicyMemberExportGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[PolicyMemberExport]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.PolicyMemberExport] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[PolicyMemberExport]): Displays a list of all items after filtering. The values are displayed for each name, if meaningful. + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyMemberExportGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyMemberExportGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyMemberExportGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyMemberExportGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(PolicyMemberExportGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, PolicyMemberExportGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/policy_member_export_post.py b/pypureclient/flasharray/FA_2_26/models/policy_member_export_post.py new file mode 100644 index 000000000..e85331fd1 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/policy_member_export_post.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class PolicyMemberExportPost(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'members': 'list[PolicymemberexportpostMembers]' + } + + attribute_map = { + 'members': 'members' + } + + required_args = { + } + + def __init__( + self, + members=None, # type: List[models.PolicymemberexportpostMembers] + ): + """ + Keyword args: + members (list[PolicymemberexportpostMembers]): A list of directories to which the export policy may be applied. + """ + if members is not None: + self.members = members + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyMemberExportPost`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyMemberExportPost`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyMemberExportPost`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyMemberExportPost`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(PolicyMemberExportPost, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, PolicyMemberExportPost): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/policy_member_export_response.py b/pypureclient/flasharray/FA_2_26/models/policy_member_export_response.py new file mode 100644 index 000000000..f9d27b7c3 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/policy_member_export_response.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class PolicyMemberExportResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'items': 'list[PolicyMemberExport]' + } + + attribute_map = { + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + items=None, # type: List[models.PolicyMemberExport] + ): + """ + Keyword args: + items (list[PolicyMemberExport]): Displays a list of all items after filtering. The values are displayed for each name, if meaningful. + """ + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyMemberExportResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyMemberExportResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyMemberExportResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyMemberExportResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(PolicyMemberExportResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, PolicyMemberExportResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/policy_member_get_response.py b/pypureclient/flasharray/FA_2_26/models/policy_member_get_response.py new file mode 100644 index 000000000..3b124fb29 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/policy_member_get_response.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class PolicyMemberGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[PolicyMember]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.PolicyMember] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[PolicyMember]): Displays a list of all items after filtering. The values are displayed for each name, if meaningful. + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyMemberGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyMemberGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyMemberGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyMemberGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(PolicyMemberGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, PolicyMemberGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/policy_member_post.py b/pypureclient/flasharray/FA_2_26/models/policy_member_post.py new file mode 100644 index 000000000..99322f884 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/policy_member_post.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class PolicyMemberPost(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'members': 'list[PolicymemberpostMembers]' + } + + attribute_map = { + 'members': 'members' + } + + required_args = { + } + + def __init__( + self, + members=None, # type: List[models.PolicymemberpostMembers] + ): + """ + Keyword args: + members (list[PolicymemberpostMembers]): A list of resources to which the policy may be applied. + """ + if members is not None: + self.members = members + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyMemberPost`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyMemberPost`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyMemberPost`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyMemberPost`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(PolicyMemberPost, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, PolicyMemberPost): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/policy_member_response.py b/pypureclient/flasharray/FA_2_26/models/policy_member_response.py new file mode 100644 index 000000000..a1ca90b0d --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/policy_member_response.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class PolicyMemberResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'items': 'list[PolicyMember]' + } + + attribute_map = { + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + items=None, # type: List[models.PolicyMember] + ): + """ + Keyword args: + items (list[PolicyMember]): Displays a list of all items after filtering. The values are displayed for each name, if meaningful. + """ + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyMemberResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyMemberResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyMemberResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyMemberResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(PolicyMemberResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, PolicyMemberResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/policy_nfs.py b/pypureclient/flasharray/FA_2_26/models/policy_nfs.py new file mode 100644 index 000000000..9bb1d0573 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/policy_nfs.py @@ -0,0 +1,177 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class PolicyNfs(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'id': 'str', + 'name': 'str', + 'destroyed': 'bool', + 'enabled': 'bool', + 'pod': 'Reference', + 'policy_type': 'str', + 'time_remaining': 'int', + 'user_mapping_enabled': 'bool', + 'nfs_version': 'list[str]' + } + + attribute_map = { + 'id': 'id', + 'name': 'name', + 'destroyed': 'destroyed', + 'enabled': 'enabled', + 'pod': 'pod', + 'policy_type': 'policy_type', + 'time_remaining': 'time_remaining', + 'user_mapping_enabled': 'user_mapping_enabled', + 'nfs_version': 'nfs_version' + } + + required_args = { + } + + def __init__( + self, + id=None, # type: str + name=None, # type: str + destroyed=None, # type: bool + enabled=None, # type: bool + pod=None, # type: models.Reference + policy_type=None, # type: str + time_remaining=None, # type: int + user_mapping_enabled=None, # type: bool + nfs_version=None, # type: List[str] + ): + """ + Keyword args: + id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. + name (str): A user-specified name. The name must be locally unique and can be changed. + destroyed (bool): Returns a value of `true` if the policy has been destroyed and is pending eradication. The `time_remaining` value displays the amount of time left until the destroyed policy is permanently eradicated. Once the `time_remaining` period has elapsed, the policy is permanently eradicated and can no longer be recovered. + enabled (bool): Returns a value of `true` if the policy is enabled. + pod (Reference): A reference to the pod. + policy_type (str): The type of policy. Valid values include `autodir`, `nfs`, `smb`, `snapshot`, and `quota`. + time_remaining (int): The amount of time left, measured in milliseconds, until the destroyed policy is permanently eradicated. + user_mapping_enabled (bool): Returns `true` if user mapping is enabled on the policy. If `true`, FlashArray queries the joined AD/OpenLDAP server to find the user corresponding to the incoming UID. If `false`, users are defined by UID/GID pair. + nfs_version (list[str]): NFS protocol version allowed for the export. If NFS version is allowed for all rules of the policy it is cascaded exactly as: `nfsv3`, `nfsv4`. If the NFS version is supported partially by the rules of the policy it will be cascaded as: `nfsv3-partial`, `nfsv4-partial`. If the NFS version is not supported by any rules or there are no rules of the policy then it will not be in the result array. If there are no rules in the policy the array will be empty. If there are two rules, one supporting `nfsv3` and the other supporting `nfsv3` and `nfsv4` then the array would contain `nfsv3` and `nfsv4-partial`. + """ + if id is not None: + self.id = id + if name is not None: + self.name = name + if destroyed is not None: + self.destroyed = destroyed + if enabled is not None: + self.enabled = enabled + if pod is not None: + self.pod = pod + if policy_type is not None: + self.policy_type = policy_type + if time_remaining is not None: + self.time_remaining = time_remaining + if user_mapping_enabled is not None: + self.user_mapping_enabled = user_mapping_enabled + if nfs_version is not None: + self.nfs_version = nfs_version + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyNfs`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyNfs`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyNfs`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyNfs`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(PolicyNfs, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, PolicyNfs): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/policy_nfs_get_response.py b/pypureclient/flasharray/FA_2_26/models/policy_nfs_get_response.py new file mode 100644 index 000000000..9184c6787 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/policy_nfs_get_response.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class PolicyNfsGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[PolicyNfs]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.PolicyNfs] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[PolicyNfs]): Returns a list of all items after filtering. If applicable, the values are displayed for each name. + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyNfsGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyNfsGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyNfsGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyNfsGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(PolicyNfsGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, PolicyNfsGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/policy_nfs_patch.py b/pypureclient/flasharray/FA_2_26/models/policy_nfs_patch.py new file mode 100644 index 000000000..20418bc55 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/policy_nfs_patch.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class PolicyNfsPatch(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'name': 'str', + 'enabled': 'bool', + 'user_mapping_enabled': 'bool', + 'nfs_version': 'list[str]' + } + + attribute_map = { + 'name': 'name', + 'enabled': 'enabled', + 'user_mapping_enabled': 'user_mapping_enabled', + 'nfs_version': 'nfs_version' + } + + required_args = { + } + + def __init__( + self, + name=None, # type: str + enabled=None, # type: bool + user_mapping_enabled=None, # type: bool + nfs_version=None, # type: List[str] + ): + """ + Keyword args: + name (str): The new name for the resource. + enabled (bool): If set to `true`, enables the policy. If set to `false`, disables the policy. + user_mapping_enabled (bool): If set to `true`, FlashArray queries the joined AD/OpenLDAP server to find the user corresponding to the incoming UID. If set to `false`, users are defined by UID/GID pair. + nfs_version (list[str]): NFS protocol version allowed for the export to set for the policy. This operation updates all rules of the specified policy. Valid values are `nfsv3` and `nfsv4`. + """ + if name is not None: + self.name = name + if enabled is not None: + self.enabled = enabled + if user_mapping_enabled is not None: + self.user_mapping_enabled = user_mapping_enabled + if nfs_version is not None: + self.nfs_version = nfs_version + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyNfsPatch`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyNfsPatch`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyNfsPatch`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyNfsPatch`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(PolicyNfsPatch, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, PolicyNfsPatch): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/policy_nfs_post.py b/pypureclient/flasharray/FA_2_26/models/policy_nfs_post.py new file mode 100644 index 000000000..ec028e272 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/policy_nfs_post.py @@ -0,0 +1,135 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class PolicyNfsPost(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'enabled': 'bool', + 'user_mapping_enabled': 'bool' + } + + attribute_map = { + 'enabled': 'enabled', + 'user_mapping_enabled': 'user_mapping_enabled' + } + + required_args = { + } + + def __init__( + self, + enabled=None, # type: bool + user_mapping_enabled=None, # type: bool + ): + """ + Keyword args: + enabled (bool): If set to `true`, enables the policy. If set to `false`, disables the policy. + user_mapping_enabled (bool): If set to `true`, FlashArray queries the joined AD/OpenLDAP server to find the user corresponding to the incoming UID. If set to `false`, users are defined by UID/GID pair. If not specified, defaults to `true`. + """ + if enabled is not None: + self.enabled = enabled + if user_mapping_enabled is not None: + self.user_mapping_enabled = user_mapping_enabled + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyNfsPost`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyNfsPost`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyNfsPost`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyNfsPost`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(PolicyNfsPost, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, PolicyNfsPost): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/policy_nfs_response.py b/pypureclient/flasharray/FA_2_26/models/policy_nfs_response.py new file mode 100644 index 000000000..e1d31ca14 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/policy_nfs_response.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class PolicyNfsResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'items': 'list[PolicyNfs]' + } + + attribute_map = { + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + items=None, # type: List[models.PolicyNfs] + ): + """ + Keyword args: + items (list[PolicyNfs]): Returns a list of all items after filtering. If applicable, the values are displayed for each name. + """ + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyNfsResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyNfsResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyNfsResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyNfsResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(PolicyNfsResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, PolicyNfsResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/policy_patch.py b/pypureclient/flasharray/FA_2_26/models/policy_patch.py new file mode 100644 index 000000000..d18711039 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/policy_patch.py @@ -0,0 +1,135 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class PolicyPatch(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'name': 'str', + 'enabled': 'bool' + } + + attribute_map = { + 'name': 'name', + 'enabled': 'enabled' + } + + required_args = { + } + + def __init__( + self, + name=None, # type: str + enabled=None, # type: bool + ): + """ + Keyword args: + name (str): The new name for the resource. + enabled (bool): If set to `true`, enables the policy. If set to `false`, disables the policy. + """ + if name is not None: + self.name = name + if enabled is not None: + self.enabled = enabled + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyPatch`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyPatch`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyPatch`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyPatch`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(PolicyPatch, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, PolicyPatch): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/policy_post.py b/pypureclient/flasharray/FA_2_26/models/policy_post.py new file mode 100644 index 000000000..a0dab882d --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/policy_post.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class PolicyPost(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'enabled': 'bool' + } + + attribute_map = { + 'enabled': 'enabled' + } + + required_args = { + } + + def __init__( + self, + enabled=None, # type: bool + ): + """ + Keyword args: + enabled (bool): If set to `true`, enables the policy. If set to `false`, disables the policy. + """ + if enabled is not None: + self.enabled = enabled + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyPost`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyPost`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyPost`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyPost`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(PolicyPost, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, PolicyPost): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/policy_response.py b/pypureclient/flasharray/FA_2_26/models/policy_response.py new file mode 100644 index 000000000..837101f62 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/policy_response.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class PolicyResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'items': 'list[Policy]' + } + + attribute_map = { + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + items=None, # type: List[models.Policy] + ): + """ + Keyword args: + items (list[Policy]): Displays a list of all items after filtering. If applicable, the values are displayed for each name. + """ + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(PolicyResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, PolicyResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/policy_rule_nfs_client.py b/pypureclient/flasharray/FA_2_26/models/policy_rule_nfs_client.py new file mode 100644 index 000000000..6d3bee9f2 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/policy_rule_nfs_client.py @@ -0,0 +1,183 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class PolicyRuleNfsClient(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'access': 'str', + 'client': 'str', + 'name': 'str', + 'permission': 'str', + 'policy': 'FixedReferenceWithType', + 'anongid': 'str', + 'anonuid': 'str', + 'destroyed': 'bool', + 'time_remaining': 'int', + 'nfs_version': 'list[str]' + } + + attribute_map = { + 'access': 'access', + 'client': 'client', + 'name': 'name', + 'permission': 'permission', + 'policy': 'policy', + 'anongid': 'anongid', + 'anonuid': 'anonuid', + 'destroyed': 'destroyed', + 'time_remaining': 'time_remaining', + 'nfs_version': 'nfs_version' + } + + required_args = { + } + + def __init__( + self, + access=None, # type: str + client=None, # type: str + name=None, # type: str + permission=None, # type: str + policy=None, # type: models.FixedReferenceWithType + anongid=None, # type: str + anonuid=None, # type: str + destroyed=None, # type: bool + time_remaining=None, # type: int + nfs_version=None, # type: List[str] + ): + """ + Keyword args: + access (str): Specifies access control for the export. Valid values are `root-squash`, `all-squash`, and `no-squash`. `root-squash` prevents client users and groups with root privilege from mapping their root privilege to a file system. All users with UID 0 will have their UID mapped to anonuid. All users with GID 0 will have their GID mapped to anongid. `all-squash` maps all UIDs (including root) to anonuid and all GIDs (including root) to anongid. `no-squash` allows users and groups to access the file system with their UIDs and GIDs. The default is `root-squash` if not specified. + client (str): Specifies the clients that will be permitted to access the export. Accepted notation includes IP, IP mask, or hostname. The default is `*` if not specified. + name (str): Name of this rule. The name is automatically generated by the system. + permission (str): Specifies which read-write client access permissions are allowed for the export. Valid values are `rw` and `ro`. The default is `rw` if not specified. + policy (FixedReferenceWithType): The policy to which this rule belongs. + anongid (str): Any user whose GID is affected by an `access` of `root_squash` or `all_squash` will have their GID mapped to `anongid`. The default `anongid` is null, which means 65534. Use \"\" to clear. This value is ignored when user mapping is enabled - see User Guide for more details. + anonuid (str): Any user whose UID is affected by an `access` of `root_squash` or `all_squash` will have their UID mapped to `anonuid`. The default `anonuid` is null, which means 65534. Use \"\" to clear. + destroyed (bool): Returns a value of `true` if the pod containing the NFS policy rule has been destroyed and is pending eradication. The `time_remaining` value displays the amount of time left until the destroyed policy is permanently eradicated. Once the `time_remaining` period has elapsed, the NFS policy rule is permanently eradicated and can no longer be recovered. + time_remaining (int): The amount of time left, in milliseconds, until the destroyed NFS policy rule is permanently eradicated. + nfs_version (list[str]): The NFS protocol version allowed for the export. Valid values are `nfsv3` and `nfsv4`. + """ + if access is not None: + self.access = access + if client is not None: + self.client = client + if name is not None: + self.name = name + if permission is not None: + self.permission = permission + if policy is not None: + self.policy = policy + if anongid is not None: + self.anongid = anongid + if anonuid is not None: + self.anonuid = anonuid + if destroyed is not None: + self.destroyed = destroyed + if time_remaining is not None: + self.time_remaining = time_remaining + if nfs_version is not None: + self.nfs_version = nfs_version + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyRuleNfsClient`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyRuleNfsClient`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyRuleNfsClient`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyRuleNfsClient`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(PolicyRuleNfsClient, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, PolicyRuleNfsClient): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/policy_rule_nfs_client_get_response.py b/pypureclient/flasharray/FA_2_26/models/policy_rule_nfs_client_get_response.py new file mode 100644 index 000000000..49f566035 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/policy_rule_nfs_client_get_response.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class PolicyRuleNfsClientGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[PolicyRuleNfsClient]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.PolicyRuleNfsClient] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[PolicyRuleNfsClient]): Displays a list of all items after filtering. If applicable, the values are displayed for each name. + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyRuleNfsClientGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyRuleNfsClientGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyRuleNfsClientGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyRuleNfsClientGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(PolicyRuleNfsClientGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, PolicyRuleNfsClientGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/policy_rule_nfs_client_post.py b/pypureclient/flasharray/FA_2_26/models/policy_rule_nfs_client_post.py new file mode 100644 index 000000000..7e1fcc9a5 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/policy_rule_nfs_client_post.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class PolicyRuleNfsClientPost(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'rules': 'list[PolicyrulenfsclientpostRules]' + } + + attribute_map = { + 'rules': 'rules' + } + + required_args = { + } + + def __init__( + self, + rules=None, # type: List[models.PolicyrulenfsclientpostRules] + ): + """ + Keyword args: + rules (list[PolicyrulenfsclientpostRules]): A list of NFS policy rules to create. + """ + if rules is not None: + self.rules = rules + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyRuleNfsClientPost`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyRuleNfsClientPost`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyRuleNfsClientPost`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyRuleNfsClientPost`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(PolicyRuleNfsClientPost, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, PolicyRuleNfsClientPost): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/policy_rule_nfs_client_response.py b/pypureclient/flasharray/FA_2_26/models/policy_rule_nfs_client_response.py new file mode 100644 index 000000000..3fd4a04fb --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/policy_rule_nfs_client_response.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class PolicyRuleNfsClientResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'items': 'list[PolicyRuleNfsClient]' + } + + attribute_map = { + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + items=None, # type: List[models.PolicyRuleNfsClient] + ): + """ + Keyword args: + items (list[PolicyRuleNfsClient]): Displays a list of all items after filtering. If applicable, the values are displayed for each name. + """ + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyRuleNfsClientResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyRuleNfsClientResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyRuleNfsClientResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyRuleNfsClientResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(PolicyRuleNfsClientResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, PolicyRuleNfsClientResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/policy_rule_quota.py b/pypureclient/flasharray/FA_2_26/models/policy_rule_quota.py new file mode 100644 index 000000000..2f7ac0459 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/policy_rule_quota.py @@ -0,0 +1,165 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class PolicyRuleQuota(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'enforced': 'bool', + 'name': 'str', + 'notifications': 'str', + 'policy': 'FixedReferenceWithType', + 'quota_limit': 'int', + 'destroyed': 'bool', + 'time_remaining': 'int' + } + + attribute_map = { + 'enforced': 'enforced', + 'name': 'name', + 'notifications': 'notifications', + 'policy': 'policy', + 'quota_limit': 'quota_limit', + 'destroyed': 'destroyed', + 'time_remaining': 'time_remaining' + } + + required_args = { + } + + def __init__( + self, + enforced=None, # type: bool + name=None, # type: str + notifications=None, # type: str + policy=None, # type: models.FixedReferenceWithType + quota_limit=None, # type: int + destroyed=None, # type: bool + time_remaining=None, # type: int + ): + """ + Keyword args: + enforced (bool): Defines whether the quota rule is enforced or unenforced. If the quota rule is enforced and logical space usage exceeds the quota limit, any modification operations that result in a need for more space are blocked. If the quota rule is unenforced and logical space usage exceeds the quota limit, notification emails are sent to targets that are specified using the `notification` parameter. No client operations are blocked when an unenforced limit is exceeded. If set to `true`, the limit is enforced. If set to `false`, notification targets are informed when the usage exceeds 80 percent of the limit. + name (str): Name of this rule. The name is automatically generated by the system. + notifications (str): Targets to notify when usage approaches the quota limit. The list of notification targets is a comma-separated string. Valid values are `user`, and `group`. If not specified, notification targets are not assigned for the rule. + policy (FixedReferenceWithType): The policy to which this rule belongs. + quota_limit (int): Logical space limit of the quota assigned by the rule, measured in bytes. This value cannot be set to 0. + destroyed (bool): Returns a value of `true` if the pod containing the quota policy rule has been destroyed and is pending eradication. The `time_remaining` value displays the amount of time left until the destroyed policy is permanently eradicated. Once the `time_remaining` period has elapsed, the quota policy rule is permanently eradicated and can no longer be recovered. + time_remaining (int): The amount of time left, in milliseconds, until the destroyed quota policy rule is permanently eradicated. + """ + if enforced is not None: + self.enforced = enforced + if name is not None: + self.name = name + if notifications is not None: + self.notifications = notifications + if policy is not None: + self.policy = policy + if quota_limit is not None: + self.quota_limit = quota_limit + if destroyed is not None: + self.destroyed = destroyed + if time_remaining is not None: + self.time_remaining = time_remaining + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyRuleQuota`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyRuleQuota`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyRuleQuota`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyRuleQuota`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(PolicyRuleQuota, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, PolicyRuleQuota): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/policy_rule_quota_get_response.py b/pypureclient/flasharray/FA_2_26/models/policy_rule_quota_get_response.py new file mode 100644 index 000000000..5bb73191b --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/policy_rule_quota_get_response.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class PolicyRuleQuotaGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[PolicyRuleQuota]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.PolicyRuleQuota] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[PolicyRuleQuota]): Returns a list of all items after filtering. The values are displayed for each name, if meaningful. + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyRuleQuotaGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyRuleQuotaGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyRuleQuotaGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyRuleQuotaGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(PolicyRuleQuotaGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, PolicyRuleQuotaGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/policy_rule_quota_patch.py b/pypureclient/flasharray/FA_2_26/models/policy_rule_quota_patch.py new file mode 100644 index 000000000..cf1558916 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/policy_rule_quota_patch.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class PolicyRuleQuotaPatch(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'rules': 'list[PolicyrulequotapatchRules]' + } + + attribute_map = { + 'rules': 'rules' + } + + required_args = { + } + + def __init__( + self, + rules=None, # type: List[models.PolicyrulequotapatchRules] + ): + """ + Keyword args: + rules (list[PolicyrulequotapatchRules]): Updates rules in a policy and accepts a single-rule update object. The list can contain only one item that will update all the specified rules. + """ + if rules is not None: + self.rules = rules + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyRuleQuotaPatch`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyRuleQuotaPatch`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyRuleQuotaPatch`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyRuleQuotaPatch`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(PolicyRuleQuotaPatch, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, PolicyRuleQuotaPatch): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/policy_rule_quota_post.py b/pypureclient/flasharray/FA_2_26/models/policy_rule_quota_post.py new file mode 100644 index 000000000..4ed8e0817 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/policy_rule_quota_post.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class PolicyRuleQuotaPost(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'rules': 'list[PolicyrulequotapostRules]' + } + + attribute_map = { + 'rules': 'rules' + } + + required_args = { + } + + def __init__( + self, + rules=None, # type: List[models.PolicyrulequotapostRules] + ): + """ + Keyword args: + rules (list[PolicyrulequotapostRules]): A list of quota policy rules to create. + """ + if rules is not None: + self.rules = rules + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyRuleQuotaPost`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyRuleQuotaPost`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyRuleQuotaPost`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyRuleQuotaPost`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(PolicyRuleQuotaPost, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, PolicyRuleQuotaPost): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/policy_rule_quota_response.py b/pypureclient/flasharray/FA_2_26/models/policy_rule_quota_response.py new file mode 100644 index 000000000..da384e951 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/policy_rule_quota_response.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class PolicyRuleQuotaResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'items': 'list[PolicyRuleQuota]' + } + + attribute_map = { + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + items=None, # type: List[models.PolicyRuleQuota] + ): + """ + Keyword args: + items (list[PolicyRuleQuota]): Returns a list of all items after filtering. The values are displayed for each name, if meaningful. + """ + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyRuleQuotaResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyRuleQuotaResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyRuleQuotaResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyRuleQuotaResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(PolicyRuleQuotaResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, PolicyRuleQuotaResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/policy_rule_smb_client.py b/pypureclient/flasharray/FA_2_26/models/policy_rule_smb_client.py new file mode 100644 index 000000000..cd0897332 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/policy_rule_smb_client.py @@ -0,0 +1,165 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class PolicyRuleSmbClient(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'anonymous_access_allowed': 'bool', + 'client': 'str', + 'name': 'str', + 'policy': 'FixedReferenceWithType', + 'smb_encryption_required': 'bool', + 'destroyed': 'bool', + 'time_remaining': 'int' + } + + attribute_map = { + 'anonymous_access_allowed': 'anonymous_access_allowed', + 'client': 'client', + 'name': 'name', + 'policy': 'policy', + 'smb_encryption_required': 'smb_encryption_required', + 'destroyed': 'destroyed', + 'time_remaining': 'time_remaining' + } + + required_args = { + } + + def __init__( + self, + anonymous_access_allowed=None, # type: bool + client=None, # type: str + name=None, # type: str + policy=None, # type: models.FixedReferenceWithType + smb_encryption_required=None, # type: bool + destroyed=None, # type: bool + time_remaining=None, # type: int + ): + """ + Keyword args: + anonymous_access_allowed (bool): Specifies whether access to information is allowed for anonymous users. Returns a value of `false` if not specified. + client (str): Specifies which clients are given access to the export. Accepted notation includes IP, IP mask, or hostname. The default is `*` if not specified. + name (str): Name of this rule. The name is automatically generated by the system. + policy (FixedReferenceWithType): The policy to which this rule belongs. + smb_encryption_required (bool): Specifies whether the remote client is required to use SMB encryption. If not specified, defaults to `false`. + destroyed (bool): Returns a value of `true` if the pod containing the SMB policy rule has been destroyed and is pending eradication. The `time_remaining` value displays the amount of time left until the destroyed policy is permanently eradicated. Once the `time_remaining` period has elapsed, the SMB policy rule is permanently eradicated and can no longer be recovered. + time_remaining (int): The amount of time left, in milliseconds, until the destroyed SMB policy rule is permanently eradicated. + """ + if anonymous_access_allowed is not None: + self.anonymous_access_allowed = anonymous_access_allowed + if client is not None: + self.client = client + if name is not None: + self.name = name + if policy is not None: + self.policy = policy + if smb_encryption_required is not None: + self.smb_encryption_required = smb_encryption_required + if destroyed is not None: + self.destroyed = destroyed + if time_remaining is not None: + self.time_remaining = time_remaining + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyRuleSmbClient`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyRuleSmbClient`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyRuleSmbClient`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyRuleSmbClient`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(PolicyRuleSmbClient, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, PolicyRuleSmbClient): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/policy_rule_smb_client_get_response.py b/pypureclient/flasharray/FA_2_26/models/policy_rule_smb_client_get_response.py new file mode 100644 index 000000000..998ca969d --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/policy_rule_smb_client_get_response.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class PolicyRuleSmbClientGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[PolicyRuleSmbClient]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.PolicyRuleSmbClient] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[PolicyRuleSmbClient]): Returns a list of all items after filtering. The values are displayed for each name, if meaningful. + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyRuleSmbClientGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyRuleSmbClientGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyRuleSmbClientGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyRuleSmbClientGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(PolicyRuleSmbClientGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, PolicyRuleSmbClientGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/policy_rule_smb_client_post.py b/pypureclient/flasharray/FA_2_26/models/policy_rule_smb_client_post.py new file mode 100644 index 000000000..76ca3fc92 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/policy_rule_smb_client_post.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class PolicyRuleSmbClientPost(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'rules': 'list[PolicyrulesmbclientpostRules]' + } + + attribute_map = { + 'rules': 'rules' + } + + required_args = { + } + + def __init__( + self, + rules=None, # type: List[models.PolicyrulesmbclientpostRules] + ): + """ + Keyword args: + rules (list[PolicyrulesmbclientpostRules]): A list of SMB policy rules to create. + """ + if rules is not None: + self.rules = rules + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyRuleSmbClientPost`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyRuleSmbClientPost`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyRuleSmbClientPost`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyRuleSmbClientPost`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(PolicyRuleSmbClientPost, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, PolicyRuleSmbClientPost): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/policy_rule_smb_client_response.py b/pypureclient/flasharray/FA_2_26/models/policy_rule_smb_client_response.py new file mode 100644 index 000000000..3ec594af8 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/policy_rule_smb_client_response.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class PolicyRuleSmbClientResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'items': 'list[PolicyRuleSmbClient]' + } + + attribute_map = { + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + items=None, # type: List[models.PolicyRuleSmbClient] + ): + """ + Keyword args: + items (list[PolicyRuleSmbClient]): Returns a list of all items after filtering. The values are displayed for each name, if meaningful. + """ + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyRuleSmbClientResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyRuleSmbClientResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyRuleSmbClientResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyRuleSmbClientResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(PolicyRuleSmbClientResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, PolicyRuleSmbClientResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/policy_rule_snapshot.py b/pypureclient/flasharray/FA_2_26/models/policy_rule_snapshot.py new file mode 100644 index 000000000..24fd4d652 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/policy_rule_snapshot.py @@ -0,0 +1,177 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class PolicyRuleSnapshot(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'at': 'int', + 'client_name': 'str', + 'every': 'int', + 'keep_for': 'int', + 'name': 'str', + 'policy': 'FixedReferenceWithType', + 'suffix': 'str', + 'destroyed': 'bool', + 'time_remaining': 'int' + } + + attribute_map = { + 'at': 'at', + 'client_name': 'client_name', + 'every': 'every', + 'keep_for': 'keep_for', + 'name': 'name', + 'policy': 'policy', + 'suffix': 'suffix', + 'destroyed': 'destroyed', + 'time_remaining': 'time_remaining' + } + + required_args = { + } + + def __init__( + self, + at=None, # type: int + client_name=None, # type: str + every=None, # type: int + keep_for=None, # type: int + name=None, # type: str + policy=None, # type: models.FixedReferenceWithType + suffix=None, # type: str + destroyed=None, # type: bool + time_remaining=None, # type: int + ): + """ + Keyword args: + at (int): Specifies the number of milliseconds since midnight at which to take a snapshot. The `at` value can only be set to an hour and must be between 0 and 82800000, inclusive. The `at` value can only be set on the rule with the smallest `every` value. The `at` value cannot be set if the `every` value is not measured in days. The `at` value can only be set for at most one rule in the same policy. + client_name (str): The snapshot client name. A full snapshot name is constructed in the form of `DIR.CLIENT_NAME.SUFFIX` where `DIR` is the managed directory name, `CLIENT_NAME` is the snapshot client name, and `SUFFIX` is the snapshot suffix. The client visible snapshot name is `CLIENT_NAME.SUFFIX`. + every (int): Specifies the interval between snapshots, in milliseconds. The `every` value for all rules must be multiples of one another. The `every` value must be unique for each rule in the same policy. The `every` value must be between 5 minutes and 1 year. + keep_for (int): Specifies the period that snapshots are retained before they are eradicated, in milliseconds. The `keep_for` value cannot be less than the `every` value of the rule. The `keep_for` value must be unique for each rule in the same policy. The `keep_for` value must be between 5 minutes and 5 years. The `keep_for` value cannot be less than the `keep_for` value of any rule in the same policy with a smaller `every` value. + name (str): Name of this rule. The name is automatically generated by the system. + policy (FixedReferenceWithType): The policy to which this rule belongs. + suffix (str): The snapshot suffix name. A full snapshot name is constructed in the form of `DIR.CLIENT_NAME.SUFFIX` where `DIR` is the managed directory name, `CLIENT_NAME` is the snapshot client name, and `SUFFIX` is the snapshot suffix. The client-visible snapshot name is `CLIENT_NAME.SUFFIX`. The `suffix` value can only be set for one rule in the same policy. The `suffix` value can only be set on a rule with the same `keep_for` value and `every` value. The `suffix` value can only be set on the rule with the largest `keep_for` value. If not specified, defaults to a monotonically increasing number generated by the system. + destroyed (bool): Returns a value of `true` if the pod containing the snapshot policy rule has been destroyed and is pending eradication. The `time_remaining` value displays the amount of time left until the destroyed policy is permanently eradicated. Once the `time_remaining` period has elapsed, the snapshot policy rule is permanently eradicated and can no longer be recovered. + time_remaining (int): The amount of time left, in milliseconds, until the destroyed snapshot policy rule is permanently eradicated. + """ + if at is not None: + self.at = at + if client_name is not None: + self.client_name = client_name + if every is not None: + self.every = every + if keep_for is not None: + self.keep_for = keep_for + if name is not None: + self.name = name + if policy is not None: + self.policy = policy + if suffix is not None: + self.suffix = suffix + if destroyed is not None: + self.destroyed = destroyed + if time_remaining is not None: + self.time_remaining = time_remaining + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyRuleSnapshot`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyRuleSnapshot`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyRuleSnapshot`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyRuleSnapshot`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(PolicyRuleSnapshot, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, PolicyRuleSnapshot): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/policy_rule_snapshot_get_response.py b/pypureclient/flasharray/FA_2_26/models/policy_rule_snapshot_get_response.py new file mode 100644 index 000000000..34154b1dc --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/policy_rule_snapshot_get_response.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class PolicyRuleSnapshotGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[PolicyRuleSnapshot]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.PolicyRuleSnapshot] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[PolicyRuleSnapshot]): Returns a list of all items after filtering. The values are displayed for each name, if meaningful. + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyRuleSnapshotGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyRuleSnapshotGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyRuleSnapshotGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyRuleSnapshotGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(PolicyRuleSnapshotGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, PolicyRuleSnapshotGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/policy_rule_snapshot_post.py b/pypureclient/flasharray/FA_2_26/models/policy_rule_snapshot_post.py new file mode 100644 index 000000000..eb2ffa1db --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/policy_rule_snapshot_post.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class PolicyRuleSnapshotPost(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'rules': 'list[PolicyrulesnapshotpostRules]' + } + + attribute_map = { + 'rules': 'rules' + } + + required_args = { + } + + def __init__( + self, + rules=None, # type: List[models.PolicyrulesnapshotpostRules] + ): + """ + Keyword args: + rules (list[PolicyrulesnapshotpostRules]): A list of snapshot policy rules to create. + """ + if rules is not None: + self.rules = rules + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyRuleSnapshotPost`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyRuleSnapshotPost`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyRuleSnapshotPost`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyRuleSnapshotPost`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(PolicyRuleSnapshotPost, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, PolicyRuleSnapshotPost): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/policy_rule_snapshot_response.py b/pypureclient/flasharray/FA_2_26/models/policy_rule_snapshot_response.py new file mode 100644 index 000000000..5765e6f5b --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/policy_rule_snapshot_response.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class PolicyRuleSnapshotResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'items': 'list[PolicyRuleSnapshot]' + } + + attribute_map = { + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + items=None, # type: List[models.PolicyRuleSnapshot] + ): + """ + Keyword args: + items (list[PolicyRuleSnapshot]): Returns a list of all items after filtering. The values are displayed for each name, if meaningful. + """ + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyRuleSnapshotResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyRuleSnapshotResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyRuleSnapshotResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyRuleSnapshotResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(PolicyRuleSnapshotResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, PolicyRuleSnapshotResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/policy_smb.py b/pypureclient/flasharray/FA_2_26/models/policy_smb.py new file mode 100644 index 000000000..16c88e74c --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/policy_smb.py @@ -0,0 +1,171 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class PolicySmb(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'id': 'str', + 'name': 'str', + 'destroyed': 'bool', + 'enabled': 'bool', + 'pod': 'Reference', + 'policy_type': 'str', + 'time_remaining': 'int', + 'access_based_enumeration_enabled': 'bool' + } + + attribute_map = { + 'id': 'id', + 'name': 'name', + 'destroyed': 'destroyed', + 'enabled': 'enabled', + 'pod': 'pod', + 'policy_type': 'policy_type', + 'time_remaining': 'time_remaining', + 'access_based_enumeration_enabled': 'access_based_enumeration_enabled' + } + + required_args = { + } + + def __init__( + self, + id=None, # type: str + name=None, # type: str + destroyed=None, # type: bool + enabled=None, # type: bool + pod=None, # type: models.Reference + policy_type=None, # type: str + time_remaining=None, # type: int + access_based_enumeration_enabled=None, # type: bool + ): + """ + Keyword args: + id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. + name (str): A user-specified name. The name must be locally unique and can be changed. + destroyed (bool): Returns a value of `true` if the policy has been destroyed and is pending eradication. The `time_remaining` value displays the amount of time left until the destroyed policy is permanently eradicated. Once the `time_remaining` period has elapsed, the policy is permanently eradicated and can no longer be recovered. + enabled (bool): Returns a value of `true` if the policy is enabled. + pod (Reference): A reference to the pod. + policy_type (str): The type of policy. Valid values include `autodir`, `nfs`, `smb`, `snapshot`, and `quota`. + time_remaining (int): The amount of time left, measured in milliseconds, until the destroyed policy is permanently eradicated. + access_based_enumeration_enabled (bool): Returns a value of `true` if access based enumeration is enabled on the policy. When access based enumeration is enabled on a policy, files and folders within exports that are attached to the policy will be hidden from users who do not have permission to view them. + """ + if id is not None: + self.id = id + if name is not None: + self.name = name + if destroyed is not None: + self.destroyed = destroyed + if enabled is not None: + self.enabled = enabled + if pod is not None: + self.pod = pod + if policy_type is not None: + self.policy_type = policy_type + if time_remaining is not None: + self.time_remaining = time_remaining + if access_based_enumeration_enabled is not None: + self.access_based_enumeration_enabled = access_based_enumeration_enabled + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicySmb`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicySmb`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicySmb`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicySmb`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(PolicySmb, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, PolicySmb): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/policy_smb_get_response.py b/pypureclient/flasharray/FA_2_26/models/policy_smb_get_response.py new file mode 100644 index 000000000..fdfd253e8 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/policy_smb_get_response.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class PolicySmbGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[PolicySmb]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.PolicySmb] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[PolicySmb]): Returns a list of all items after filtering. If applicable, the values are displayed for each name. + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicySmbGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicySmbGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicySmbGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicySmbGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(PolicySmbGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, PolicySmbGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/policy_smb_patch.py b/pypureclient/flasharray/FA_2_26/models/policy_smb_patch.py new file mode 100644 index 000000000..2ea448b02 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/policy_smb_patch.py @@ -0,0 +1,141 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class PolicySmbPatch(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'name': 'str', + 'enabled': 'bool', + 'access_based_enumeration_enabled': 'bool' + } + + attribute_map = { + 'name': 'name', + 'enabled': 'enabled', + 'access_based_enumeration_enabled': 'access_based_enumeration_enabled' + } + + required_args = { + } + + def __init__( + self, + name=None, # type: str + enabled=None, # type: bool + access_based_enumeration_enabled=None, # type: bool + ): + """ + Keyword args: + name (str): The new name for the resource. + enabled (bool): If set to `true`, enables the policy. If set to `false`, disables the policy. + access_based_enumeration_enabled (bool): If set to `true`, enables access based enumeration on the policy. When access based enumeration is enabled on a policy, files and folders within exports that are attached to the policy will be hidden from users who do not have permission to view them. + """ + if name is not None: + self.name = name + if enabled is not None: + self.enabled = enabled + if access_based_enumeration_enabled is not None: + self.access_based_enumeration_enabled = access_based_enumeration_enabled + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicySmbPatch`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicySmbPatch`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicySmbPatch`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicySmbPatch`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(PolicySmbPatch, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, PolicySmbPatch): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/policy_smb_post.py b/pypureclient/flasharray/FA_2_26/models/policy_smb_post.py new file mode 100644 index 000000000..f49a49579 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/policy_smb_post.py @@ -0,0 +1,135 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class PolicySmbPost(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'enabled': 'bool', + 'access_based_enumeration_enabled': 'bool' + } + + attribute_map = { + 'enabled': 'enabled', + 'access_based_enumeration_enabled': 'access_based_enumeration_enabled' + } + + required_args = { + } + + def __init__( + self, + enabled=None, # type: bool + access_based_enumeration_enabled=None, # type: bool + ): + """ + Keyword args: + enabled (bool): If set to `true`, enables the policy. If set to `false`, disables the policy. + access_based_enumeration_enabled (bool): If set to `true`, enables access based enumeration on the policy. When access based enumeration is enabled on a policy, files and folders within exports that are attached to the policy will be hidden from users who do not have permission to view them. If not specified, defaults to `false`. + """ + if enabled is not None: + self.enabled = enabled + if access_based_enumeration_enabled is not None: + self.access_based_enumeration_enabled = access_based_enumeration_enabled + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicySmbPost`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicySmbPost`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicySmbPost`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicySmbPost`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(PolicySmbPost, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, PolicySmbPost): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/policy_smb_response.py b/pypureclient/flasharray/FA_2_26/models/policy_smb_response.py new file mode 100644 index 000000000..8729c121c --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/policy_smb_response.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class PolicySmbResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'items': 'list[PolicySmb]' + } + + attribute_map = { + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + items=None, # type: List[models.PolicySmb] + ): + """ + Keyword args: + items (list[PolicySmb]): Returns a list of all items after filtering. If applicable, the values are displayed for each name. + """ + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicySmbResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicySmbResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicySmbResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicySmbResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(PolicySmbResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, PolicySmbResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/policymemberexportpost_members.py b/pypureclient/flasharray/FA_2_26/models/policymemberexportpost_members.py new file mode 100644 index 000000000..8cdd1f75f --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/policymemberexportpost_members.py @@ -0,0 +1,135 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class PolicymemberexportpostMembers(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'export_name': 'str', + 'member': 'ReferenceWithType' + } + + attribute_map = { + 'export_name': 'export_name', + 'member': 'member' + } + + required_args = { + } + + def __init__( + self, + export_name=None, # type: str + member=None, # type: models.ReferenceWithType + ): + """ + Keyword args: + export_name (str): The name of the export to create when applying the export policy to the directory. + member (ReferenceWithType): Reference to the directory to which the export policy may be applied. The `id` or `name` parameter is required, but they cannot be set together. If the `name` parameter is set, `resource_type` must also be set. + """ + if export_name is not None: + self.export_name = export_name + if member is not None: + self.member = member + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicymemberexportpostMembers`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicymemberexportpostMembers`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicymemberexportpostMembers`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicymemberexportpostMembers`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(PolicymemberexportpostMembers, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, PolicymemberexportpostMembers): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/policymemberpost_members.py b/pypureclient/flasharray/FA_2_26/models/policymemberpost_members.py new file mode 100644 index 000000000..dbe60a2a5 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/policymemberpost_members.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class PolicymemberpostMembers(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'member': 'ReferenceWithType' + } + + attribute_map = { + 'member': 'member' + } + + required_args = { + } + + def __init__( + self, + member=None, # type: models.ReferenceWithType + ): + """ + Keyword args: + member (ReferenceWithType): Reference to the resource to which the policy may be applied. The `id` or `name` parameter is required, but they cannot be set together. If the `name` parameter is set, `resource_type` must also be set. + """ + if member is not None: + self.member = member + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicymemberpostMembers`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicymemberpostMembers`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicymemberpostMembers`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicymemberpostMembers`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(PolicymemberpostMembers, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, PolicymemberpostMembers): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/policyrulenfsclientpost_rules.py b/pypureclient/flasharray/FA_2_26/models/policyrulenfsclientpost_rules.py new file mode 100644 index 000000000..cf5d097d6 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/policyrulenfsclientpost_rules.py @@ -0,0 +1,159 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class PolicyrulenfsclientpostRules(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'access': 'str', + 'anongid': 'str', + 'anonuid': 'str', + 'client': 'str', + 'nfs_version': 'list[str]', + 'permission': 'str' + } + + attribute_map = { + 'access': 'access', + 'anongid': 'anongid', + 'anonuid': 'anonuid', + 'client': 'client', + 'nfs_version': 'nfs_version', + 'permission': 'permission' + } + + required_args = { + } + + def __init__( + self, + access=None, # type: str + anongid=None, # type: str + anonuid=None, # type: str + client=None, # type: str + nfs_version=None, # type: List[str] + permission=None, # type: str + ): + """ + Keyword args: + access (str): Specifies access control for the export. Valid values are `root-squash`, `all-squash`, and `no-squash`. The value `root-squash` prevents client users and groups with root privilege from mapping their root privilege to a file system. All users with UID 0 will have their UID mapped to `anonuid`. All users with GID 0 will have their GID mapped to `anongid`. The value `all-squash` maps all UIDs (including root) to `anonuid` and all GIDs (including root) to `anongid`. The value `no-squash` allows users and groups to access the file system with their UIDs and GIDs. If not specified, the default value is `root-squash`. + anongid (str): Any user whose GID is affected by an `access` of `root_squash` or `all_squash` will have their GID mapped to `anongid`. The default `anongid` is null, which means 65534. Use \"\" to clear. This value is ignored when user mapping is enabled. + anonuid (str): Any user whose UID is affected by an `access` of `root_squash` or `all_squash` will have their UID mapped to `anonuid`. The default `anonuid` is null, which means 65534. Use \"\" to clear. + client (str): Specifies which clients are given access. Valid values include `IP`, `IP mask`, or `hostname`. The default is `*` if not specified. + nfs_version (list[str]): NFS protocol version allowed for the export. Valid values are `nfsv3` and `nfsv4`. If not specified, defaults to `nfsv3`. + permission (str): Specifies which read-write client access permissions are allowed for the export. Values include `rw` and `ro`. The default value is `rw` if not specified. + """ + if access is not None: + self.access = access + if anongid is not None: + self.anongid = anongid + if anonuid is not None: + self.anonuid = anonuid + if client is not None: + self.client = client + if nfs_version is not None: + self.nfs_version = nfs_version + if permission is not None: + self.permission = permission + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyrulenfsclientpostRules`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyrulenfsclientpostRules`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyrulenfsclientpostRules`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyrulenfsclientpostRules`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(PolicyrulenfsclientpostRules, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, PolicyrulenfsclientpostRules): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/policyrulequotapatch_rules.py b/pypureclient/flasharray/FA_2_26/models/policyrulequotapatch_rules.py new file mode 100644 index 000000000..e73d574d3 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/policyrulequotapatch_rules.py @@ -0,0 +1,141 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class PolicyrulequotapatchRules(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'enforced': 'bool', + 'quota_limit': 'int', + 'notifications': 'str' + } + + attribute_map = { + 'enforced': 'enforced', + 'quota_limit': 'quota_limit', + 'notifications': 'notifications' + } + + required_args = { + } + + def __init__( + self, + enforced=None, # type: bool + quota_limit=None, # type: int + notifications=None, # type: str + ): + """ + Keyword args: + enforced (bool): If set to `true`, this rule describes an enforced quota. An out-of-space warning is issued if logical space usage exceeds the limit value described in this rule. If set to `false`, this rule describes an unenforced quota. Alerts and/or notifications are issued when logical space usage exceeds the limit value described in this rule. + quota_limit (int): Logical space limit of the quota (in bytes) assigned by the rule. This value cannot be set to 0. + notifications (str): Targets to notify when usage approaches the quota limit. The list of notification targets is a comma-separated string. Valid values are one or more of `user` and `group`. To notify no targets, use `none`. + """ + if enforced is not None: + self.enforced = enforced + if quota_limit is not None: + self.quota_limit = quota_limit + if notifications is not None: + self.notifications = notifications + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyrulequotapatchRules`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyrulequotapatchRules`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyrulequotapatchRules`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyrulequotapatchRules`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(PolicyrulequotapatchRules, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, PolicyrulequotapatchRules): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/policyrulequotapost_rules.py b/pypureclient/flasharray/FA_2_26/models/policyrulequotapost_rules.py new file mode 100644 index 000000000..94afc57a8 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/policyrulequotapost_rules.py @@ -0,0 +1,141 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class PolicyrulequotapostRules(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'enforced': 'bool', + 'quota_limit': 'int', + 'notifications': 'str' + } + + attribute_map = { + 'enforced': 'enforced', + 'quota_limit': 'quota_limit', + 'notifications': 'notifications' + } + + required_args = { + } + + def __init__( + self, + enforced=None, # type: bool + quota_limit=None, # type: int + notifications=None, # type: str + ): + """ + Keyword args: + enforced (bool): If set to `true`, this rule describes an enforced quota. An out-of-space warning is issued if logical space usage exceeds the limit value described in this rule. If set to `false`, this rule describes an unenforced quota. Alerts and/or notifications are issued when logical space usage exceeds the limit value described in this rule. If not specified, defaults to `false`. + quota_limit (int): Logical space limit of the quota (in bytes) assigned by the rule. This value cannot be set to 0. + notifications (str): Targets to notify when usage approaches the quota limit. The list of notification targets is a comma-separated string. Valid values are one or more of `user` and `group`. To notify no targets, use `none`. If not specified, defaults to `none`. + """ + if enforced is not None: + self.enforced = enforced + if quota_limit is not None: + self.quota_limit = quota_limit + if notifications is not None: + self.notifications = notifications + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyrulequotapostRules`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyrulequotapostRules`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyrulequotapostRules`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyrulequotapostRules`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(PolicyrulequotapostRules, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, PolicyrulequotapostRules): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/policyrulesmbclientpost_rules.py b/pypureclient/flasharray/FA_2_26/models/policyrulesmbclientpost_rules.py new file mode 100644 index 000000000..6f0cd5b58 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/policyrulesmbclientpost_rules.py @@ -0,0 +1,141 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class PolicyrulesmbclientpostRules(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'anonymous_access_allowed': 'bool', + 'client': 'str', + 'smb_encryption_required': 'bool' + } + + attribute_map = { + 'anonymous_access_allowed': 'anonymous_access_allowed', + 'client': 'client', + 'smb_encryption_required': 'smb_encryption_required' + } + + required_args = { + } + + def __init__( + self, + anonymous_access_allowed=None, # type: bool + client=None, # type: str + smb_encryption_required=None, # type: bool + ): + """ + Keyword args: + anonymous_access_allowed (bool): Specifies whether access to information is allowed for anonymous users. If not specified, defaults to `false`. + client (str): Specifies which clients are given access. Accepted notation, IP, IP mask, or hostname. The default is `*` if not specified. + smb_encryption_required (bool): Specifies whether the remote client is required to use SMB encryption. If not specified, defaults to `false`. + """ + if anonymous_access_allowed is not None: + self.anonymous_access_allowed = anonymous_access_allowed + if client is not None: + self.client = client + if smb_encryption_required is not None: + self.smb_encryption_required = smb_encryption_required + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyrulesmbclientpostRules`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyrulesmbclientpostRules`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyrulesmbclientpostRules`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyrulesmbclientpostRules`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(PolicyrulesmbclientpostRules, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, PolicyrulesmbclientpostRules): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/policyrulesnapshotpost_rules.py b/pypureclient/flasharray/FA_2_26/models/policyrulesnapshotpost_rules.py new file mode 100644 index 000000000..47682dde9 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/policyrulesnapshotpost_rules.py @@ -0,0 +1,153 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class PolicyrulesnapshotpostRules(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'at': 'int', + 'client_name': 'str', + 'every': 'int', + 'keep_for': 'int', + 'suffix': 'str' + } + + attribute_map = { + 'at': 'at', + 'client_name': 'client_name', + 'every': 'every', + 'keep_for': 'keep_for', + 'suffix': 'suffix' + } + + required_args = { + } + + def __init__( + self, + at=None, # type: int + client_name=None, # type: str + every=None, # type: int + keep_for=None, # type: int + suffix=None, # type: str + ): + """ + Keyword args: + at (int): Specifies the number of milliseconds since midnight at which to take a snapshot. The `at` value can only be set to an hour and must be between 0 and 82800000, inclusive. The `at` value can only be set on the rule with the smallest `every` value. The `at` value cannot be set if the `every` value is not measured in days. The `at` value can only be set for at most one rule in the same policy. + client_name (str): The snapshot client name. A full snapshot name is constructed in the form of `DIR.CLIENT_NAME.SUFFIX` where `DIR` is the managed directory name, `CLIENT_NAME` is the snapshot client name, and `SUFFIX` is the snapshot suffix. The client-visible snapshot name is `CLIENT_NAME.SUFFIX`. + every (int): Specifies the interval between snapshots, in milliseconds. The `every` value for all rules must be multiples of one another. The `every` value must be unique for each rule in the same policy. The `every` value must be between 5 minutes and 1 year. + keep_for (int): Specifies the period that snapshots are retained before they are eradicated, in milliseconds. The `keep_for` value cannot be less than the `every` value of the rule. The `keep_for` value must be unique for each rule in the same policy. The `keep_for` value must be between 5 minutes and 5 years. The `keep_for` value cannot be less than the `keep_for` value of any rule in the same policy with a smaller `every` value. + suffix (str): The snapshot suffix name. A full snapshot name is constructed in the form of `DIR.CLIENT_NAME.SUFFIX` where `DIR` is the managed directory name, `CLIENT_NAME` is the snapshot client name, and `SUFFIX` is the snapshot suffix. The client-visible snapshot name is `CLIENT_NAME.SUFFIX`. The `suffix` value can only be set for one rule in the same policy. The `suffix` value can only be set on a rule with the same `keep_for` value and `every` value. The `suffix` value can only be set on the rule with the largest `keep_for` value. If not specified, defaults to a monotonically increasing number generated by the system. + """ + if at is not None: + self.at = at + if client_name is not None: + self.client_name = client_name + if every is not None: + self.every = every + if keep_for is not None: + self.keep_for = keep_for + if suffix is not None: + self.suffix = suffix + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyrulesnapshotpostRules`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyrulesnapshotpostRules`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyrulesnapshotpostRules`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PolicyrulesnapshotpostRules`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(PolicyrulesnapshotpostRules, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, PolicyrulesnapshotpostRules): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/port.py b/pypureclient/flasharray/FA_2_26/models/port.py new file mode 100644 index 000000000..a247a18ea --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/port.py @@ -0,0 +1,159 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class Port(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'name': 'str', + 'iqn': 'str', + 'nqn': 'str', + 'portal': 'str', + 'wwn': 'str', + 'failover': 'str' + } + + attribute_map = { + 'name': 'name', + 'iqn': 'iqn', + 'nqn': 'nqn', + 'portal': 'portal', + 'wwn': 'wwn', + 'failover': 'failover' + } + + required_args = { + } + + def __init__( + self, + name=None, # type: str + iqn=None, # type: str + nqn=None, # type: str + portal=None, # type: str + wwn=None, # type: str + failover=None, # type: str + ): + """ + Keyword args: + name (str): A locally unique, system-generated name. The name cannot be modified. + iqn (str): The iSCSI Qualified Name (or `null` if target is not iSCSI). + nqn (str): NVMe Qualified Name (or `null` if target is not NVMeoF). + portal (str): IP and port number (or `null` if target is not iSCSI). + wwn (str): Fibre Channel World Wide Name (or `null` if target is not Fibre Channel). + failover (str): If the array port has failed over, returns the name of the port to which this port has failed over. + """ + if name is not None: + self.name = name + if iqn is not None: + self.iqn = iqn + if nqn is not None: + self.nqn = nqn + if portal is not None: + self.portal = portal + if wwn is not None: + self.wwn = wwn + if failover is not None: + self.failover = failover + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Port`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Port`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Port`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Port`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(Port, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, Port): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/port_common.py b/pypureclient/flasharray/FA_2_26/models/port_common.py new file mode 100644 index 000000000..cfaa6acfe --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/port_common.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class PortCommon(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'iqn': 'str', + 'nqn': 'str', + 'portal': 'str', + 'wwn': 'str' + } + + attribute_map = { + 'iqn': 'iqn', + 'nqn': 'nqn', + 'portal': 'portal', + 'wwn': 'wwn' + } + + required_args = { + } + + def __init__( + self, + iqn=None, # type: str + nqn=None, # type: str + portal=None, # type: str + wwn=None, # type: str + ): + """ + Keyword args: + iqn (str): The iSCSI Qualified Name (or `null` if target is not iSCSI). + nqn (str): NVMe Qualified Name (or `null` if target is not NVMeoF). + portal (str): IP and port number (or `null` if target is not iSCSI). + wwn (str): Fibre Channel World Wide Name (or `null` if target is not Fibre Channel). + """ + if iqn is not None: + self.iqn = iqn + if nqn is not None: + self.nqn = nqn + if portal is not None: + self.portal = portal + if wwn is not None: + self.wwn = wwn + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PortCommon`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PortCommon`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PortCommon`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PortCommon`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(PortCommon, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, PortCommon): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/port_get_response.py b/pypureclient/flasharray/FA_2_26/models/port_get_response.py new file mode 100644 index 000000000..31f56ea68 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/port_get_response.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class PortGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[Port]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.Port] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[Port]) + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PortGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PortGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PortGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PortGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(PortGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, PortGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/port_initiator.py b/pypureclient/flasharray/FA_2_26/models/port_initiator.py new file mode 100644 index 000000000..e40386b92 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/port_initiator.py @@ -0,0 +1,135 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class PortInitiator(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'initiator': 'PortCommon', + 'target': 'Port' + } + + attribute_map = { + 'initiator': 'initiator', + 'target': 'target' + } + + required_args = { + } + + def __init__( + self, + initiator=None, # type: models.PortCommon + target=None, # type: models.Port + ): + """ + Keyword args: + initiator (PortCommon) + target (Port) + """ + if initiator is not None: + self.initiator = initiator + if target is not None: + self.target = target + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PortInitiator`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PortInitiator`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PortInitiator`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PortInitiator`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(PortInitiator, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, PortInitiator): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/port_initiators_get_response.py b/pypureclient/flasharray/FA_2_26/models/port_initiators_get_response.py new file mode 100644 index 000000000..3ffc4df2b --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/port_initiators_get_response.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class PortInitiatorsGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[PortInitiator]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.PortInitiator] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[PortInitiator]) + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PortInitiatorsGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PortInitiatorsGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PortInitiatorsGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PortInitiatorsGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(PortInitiatorsGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, PortInitiatorsGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/priority_adjustment.py b/pypureclient/flasharray/FA_2_26/models/priority_adjustment.py new file mode 100644 index 000000000..8c98b2011 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/priority_adjustment.py @@ -0,0 +1,135 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class PriorityAdjustment(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'priority_adjustment_operator': 'str', + 'priority_adjustment_value': 'int' + } + + attribute_map = { + 'priority_adjustment_operator': 'priority_adjustment_operator', + 'priority_adjustment_value': 'priority_adjustment_value' + } + + required_args = { + } + + def __init__( + self, + priority_adjustment_operator=None, # type: str + priority_adjustment_value=None, # type: int + ): + """ + Keyword args: + priority_adjustment_operator (str): Valid values are `+`, `-`, and `=`. The values `+` and `-` may be applied to volumes and volume groups to reflect the relative importance of their workloads. Volumes and volume groups can be assigned a priority adjustment of -10, 0, or +10. In addition, volumes can be assigned values of =-10, =0, or =+10. Volumes with settings of -10, 0, +10 can be modified by the priority adjustment setting of a volume group that contains the volume. However, if a volume has a priority adjustment set with the `=` operator (for example, =+10), it retains that value and is unaffected by any volume group priority adjustment settings. + priority_adjustment_value (int): Adjust priority by the specified amount, using the `priority_adjustment_operator`. Valid values are 0 and +10 for `+` and `-` operators, -10, 0, and +10 for the `=` operator. + """ + if priority_adjustment_operator is not None: + self.priority_adjustment_operator = priority_adjustment_operator + if priority_adjustment_value is not None: + self.priority_adjustment_value = priority_adjustment_value + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PriorityAdjustment`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PriorityAdjustment`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PriorityAdjustment`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `PriorityAdjustment`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(PriorityAdjustment, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, PriorityAdjustment): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/protection_group.py b/pypureclient/flasharray/FA_2_26/models/protection_group.py new file mode 100644 index 000000000..c0da04809 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/protection_group.py @@ -0,0 +1,231 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class ProtectionGroup(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'name': 'str', + 'destroyed': 'bool', + 'host_count': 'int', + 'host_group_count': 'int', + 'is_local': 'bool', + 'pod': 'FixedReference', + 'replication_schedule': 'ReplicationSchedule', + 'snapshot_schedule': 'SnapshotSchedule', + 'source': 'FixedReference', + 'source_retention': 'RetentionPolicy', + 'space': 'Space', + 'target_count': 'int', + 'target_retention': 'RetentionPolicy', + 'time_remaining': 'int', + 'volume_count': 'int', + 'eradication_config': 'ProtectionGroupEradicationConfig', + 'retention_lock': 'str', + 'id': 'str' + } + + attribute_map = { + 'name': 'name', + 'destroyed': 'destroyed', + 'host_count': 'host_count', + 'host_group_count': 'host_group_count', + 'is_local': 'is_local', + 'pod': 'pod', + 'replication_schedule': 'replication_schedule', + 'snapshot_schedule': 'snapshot_schedule', + 'source': 'source', + 'source_retention': 'source_retention', + 'space': 'space', + 'target_count': 'target_count', + 'target_retention': 'target_retention', + 'time_remaining': 'time_remaining', + 'volume_count': 'volume_count', + 'eradication_config': 'eradication_config', + 'retention_lock': 'retention_lock', + 'id': 'id' + } + + required_args = { + } + + def __init__( + self, + name=None, # type: str + destroyed=None, # type: bool + host_count=None, # type: int + host_group_count=None, # type: int + is_local=None, # type: bool + pod=None, # type: models.FixedReference + replication_schedule=None, # type: models.ReplicationSchedule + snapshot_schedule=None, # type: models.SnapshotSchedule + source=None, # type: models.FixedReference + source_retention=None, # type: models.RetentionPolicy + space=None, # type: models.Space + target_count=None, # type: int + target_retention=None, # type: models.RetentionPolicy + time_remaining=None, # type: int + volume_count=None, # type: int + eradication_config=None, # type: models.ProtectionGroupEradicationConfig + retention_lock=None, # type: str + id=None, # type: str + ): + """ + Keyword args: + name (str): A user-specified name. The name must be locally unique and can be changed. + destroyed (bool): Has this protection group been destroyed? To destroy a protection group, patch to `true`. To recover a destroyed protection group, patch to `false`. If not specified, defaults to `false`. + host_count (int): Number of hosts in this protection group. + host_group_count (int): Number of host groups in this protection group. + is_local (bool): If set to `true`, the protection group belongs to the local array. If set to `false`, the protection group belongs to the remote array. + pod (FixedReference): The pod in which the protection group resides. + replication_schedule (ReplicationSchedule): The schedule settings for asynchronous replication. + snapshot_schedule (SnapshotSchedule): The schedule settings for protection group snapshots. + source (FixedReference): The array on which the protection group was created. + source_retention (RetentionPolicy): The retention policy for the source array of the protection group. + space (Space): Displays provisioned size and physical storage consumption data for each protection group. + target_count (int): The number of targets to where this protection group replicates. + target_retention (RetentionPolicy): The retention policy for the target(s) of the protection group. + time_remaining (int): The amount of time left until the destroyed protection group is permanently eradicated. Measured in milliseconds. Before the `time_remaining` period has elapsed, the destroyed protection group can be recovered by setting `destroyed=false`. + volume_count (int): The number of volumes in the protection group. + eradication_config (ProtectionGroupEradicationConfig) + retention_lock (str): The valid values are `ratcheted` and `unlocked`. The default value for a newly created protection group is `unlocked`. Set `retention_lock` to `ratcheted` to enable SafeMode restrictions on the protection group. Contact Pure Technical Services to change `retention_lock` to `unlocked`. + id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. + """ + if name is not None: + self.name = name + if destroyed is not None: + self.destroyed = destroyed + if host_count is not None: + self.host_count = host_count + if host_group_count is not None: + self.host_group_count = host_group_count + if is_local is not None: + self.is_local = is_local + if pod is not None: + self.pod = pod + if replication_schedule is not None: + self.replication_schedule = replication_schedule + if snapshot_schedule is not None: + self.snapshot_schedule = snapshot_schedule + if source is not None: + self.source = source + if source_retention is not None: + self.source_retention = source_retention + if space is not None: + self.space = space + if target_count is not None: + self.target_count = target_count + if target_retention is not None: + self.target_retention = target_retention + if time_remaining is not None: + self.time_remaining = time_remaining + if volume_count is not None: + self.volume_count = volume_count + if eradication_config is not None: + self.eradication_config = eradication_config + if retention_lock is not None: + self.retention_lock = retention_lock + if id is not None: + self.id = id + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ProtectionGroup`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ProtectionGroup`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ProtectionGroup`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ProtectionGroup`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(ProtectionGroup, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, ProtectionGroup): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/protection_group_eradication_config.py b/pypureclient/flasharray/FA_2_26/models/protection_group_eradication_config.py new file mode 100644 index 000000000..d6d5e0c38 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/protection_group_eradication_config.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class ProtectionGroupEradicationConfig(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'manual_eradication': 'str' + } + + attribute_map = { + 'manual_eradication': 'manual_eradication' + } + + required_args = { + } + + def __init__( + self, + manual_eradication=None, # type: str + ): + """ + Keyword args: + manual_eradication (str): Manual eradication status of objects like protection group and protection group snapshots. If manual_eradication is `disabled`, you cannot eradicate objects. Values include `disabled` and `enabled`. + """ + if manual_eradication is not None: + self.manual_eradication = manual_eradication + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ProtectionGroupEradicationConfig`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ProtectionGroupEradicationConfig`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ProtectionGroupEradicationConfig`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ProtectionGroupEradicationConfig`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(ProtectionGroupEradicationConfig, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, ProtectionGroupEradicationConfig): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/protection_group_get_response.py b/pypureclient/flasharray/FA_2_26/models/protection_group_get_response.py new file mode 100644 index 000000000..0acbdc324 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/protection_group_get_response.py @@ -0,0 +1,153 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class ProtectionGroupGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[ProtectionGroup]', + 'total': 'list[ProtectionGroup]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items', + 'total': 'total' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.ProtectionGroup] + total=None, # type: List[models.ProtectionGroup] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[ProtectionGroup]): Displays a list of all items after filtering. If applicable, the values are displayed for each name. If `total_only=true`, the `items` list will be empty. + total (list[ProtectionGroup]): The aggregate value of all items after filtering. When applicable, the average value is displayed instead. If applicable, the values are displayed for each field. + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + if total is not None: + self.total = total + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ProtectionGroupGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ProtectionGroupGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ProtectionGroupGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ProtectionGroupGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(ProtectionGroupGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, ProtectionGroupGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/protection_group_performance.py b/pypureclient/flasharray/FA_2_26/models/protection_group_performance.py new file mode 100644 index 000000000..7b76013f4 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/protection_group_performance.py @@ -0,0 +1,150 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class ProtectionGroupPerformance(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'id': 'str', + 'name': 'str', + 'bytes_per_sec': 'int', + 'time': 'int' + } + + attribute_map = { + 'id': 'id', + 'name': 'name', + 'bytes_per_sec': 'bytes_per_sec', + 'time': 'time' + } + + required_args = { + } + + def __init__( + self, + id=None, # type: str + name=None, # type: str + bytes_per_sec=None, # type: int + time=None, # type: int + ): + """ + Keyword args: + id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. + name (str): A locally unique, system-generated name. The name cannot be modified. + bytes_per_sec (int): The total number of bytes of replication data transmitted and received per second. + time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. + """ + if id is not None: + self.id = id + if name is not None: + self.name = name + if bytes_per_sec is not None: + self.bytes_per_sec = bytes_per_sec + if time is not None: + self.time = time + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ProtectionGroupPerformance`".format(key)) + if key == "bytes_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `bytes_per_sec`, must be a value greater than or equal to `0`") + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ProtectionGroupPerformance`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ProtectionGroupPerformance`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ProtectionGroupPerformance`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(ProtectionGroupPerformance, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, ProtectionGroupPerformance): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/protection_group_performance_array.py b/pypureclient/flasharray/FA_2_26/models/protection_group_performance_array.py new file mode 100644 index 000000000..51c50817c --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/protection_group_performance_array.py @@ -0,0 +1,162 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class ProtectionGroupPerformanceArray(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'id': 'str', + 'name': 'str', + 'bytes_per_sec': 'int', + 'source': 'str', + 'target': 'str', + 'time': 'int' + } + + attribute_map = { + 'id': 'id', + 'name': 'name', + 'bytes_per_sec': 'bytes_per_sec', + 'source': 'source', + 'target': 'target', + 'time': 'time' + } + + required_args = { + } + + def __init__( + self, + id=None, # type: str + name=None, # type: str + bytes_per_sec=None, # type: int + source=None, # type: str + target=None, # type: str + time=None, # type: int + ): + """ + Keyword args: + id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. + name (str): A locally unique, system-generated name. The name cannot be modified. + bytes_per_sec (int): The total number of bytes of replication data transmitted and received per second. + source (str): The source array from where the data is replicated. + target (str): The target to where the data is replicated. + time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. + """ + if id is not None: + self.id = id + if name is not None: + self.name = name + if bytes_per_sec is not None: + self.bytes_per_sec = bytes_per_sec + if source is not None: + self.source = source + if target is not None: + self.target = target + if time is not None: + self.time = time + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ProtectionGroupPerformanceArray`".format(key)) + if key == "bytes_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `bytes_per_sec`, must be a value greater than or equal to `0`") + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ProtectionGroupPerformanceArray`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ProtectionGroupPerformanceArray`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ProtectionGroupPerformanceArray`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(ProtectionGroupPerformanceArray, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, ProtectionGroupPerformanceArray): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/protection_group_performance_array_response.py b/pypureclient/flasharray/FA_2_26/models/protection_group_performance_array_response.py new file mode 100644 index 000000000..1777b78c0 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/protection_group_performance_array_response.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class ProtectionGroupPerformanceArrayResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[ProtectionGroupPerformanceArray]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.ProtectionGroupPerformanceArray] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[ProtectionGroupPerformanceArray]): Lists performance data, broken down by array. + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ProtectionGroupPerformanceArrayResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ProtectionGroupPerformanceArrayResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ProtectionGroupPerformanceArrayResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ProtectionGroupPerformanceArrayResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(ProtectionGroupPerformanceArrayResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, ProtectionGroupPerformanceArrayResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/protection_group_performance_by_array.py b/pypureclient/flasharray/FA_2_26/models/protection_group_performance_by_array.py new file mode 100644 index 000000000..447ceaec4 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/protection_group_performance_by_array.py @@ -0,0 +1,162 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class ProtectionGroupPerformanceByArray(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'id': 'str', + 'name': 'str', + 'bytes_per_sec': 'int', + 'source': 'str', + 'target': 'str', + 'time': 'int' + } + + attribute_map = { + 'id': 'id', + 'name': 'name', + 'bytes_per_sec': 'bytes_per_sec', + 'source': 'source', + 'target': 'target', + 'time': 'time' + } + + required_args = { + } + + def __init__( + self, + id=None, # type: str + name=None, # type: str + bytes_per_sec=None, # type: int + source=None, # type: str + target=None, # type: str + time=None, # type: int + ): + """ + Keyword args: + id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. + name (str): A locally unique, system-generated name. The name cannot be modified. + bytes_per_sec (int): The total number of bytes of replication data transmitted and received per second. + source (str): The source array from where the data is replicated. + target (str): The target to where the data is replicated. + time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. + """ + if id is not None: + self.id = id + if name is not None: + self.name = name + if bytes_per_sec is not None: + self.bytes_per_sec = bytes_per_sec + if source is not None: + self.source = source + if target is not None: + self.target = target + if time is not None: + self.time = time + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ProtectionGroupPerformanceByArray`".format(key)) + if key == "bytes_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `bytes_per_sec`, must be a value greater than or equal to `0`") + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ProtectionGroupPerformanceByArray`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ProtectionGroupPerformanceByArray`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ProtectionGroupPerformanceByArray`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(ProtectionGroupPerformanceByArray, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, ProtectionGroupPerformanceByArray): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/protection_group_performance_response.py b/pypureclient/flasharray/FA_2_26/models/protection_group_performance_response.py new file mode 100644 index 000000000..6c95773f6 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/protection_group_performance_response.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class ProtectionGroupPerformanceResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[ProtectionGroupPerformance]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.ProtectionGroupPerformance] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[ProtectionGroupPerformance]): A list of protection group performance objects. + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ProtectionGroupPerformanceResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ProtectionGroupPerformanceResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ProtectionGroupPerformanceResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ProtectionGroupPerformanceResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(ProtectionGroupPerformanceResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, ProtectionGroupPerformanceResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/protection_group_response.py b/pypureclient/flasharray/FA_2_26/models/protection_group_response.py new file mode 100644 index 000000000..ca2406a70 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/protection_group_response.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class ProtectionGroupResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'items': 'list[ProtectionGroup]' + } + + attribute_map = { + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + items=None, # type: List[models.ProtectionGroup] + ): + """ + Keyword args: + items (list[ProtectionGroup]): Displays a list of all items after filtering. If applicable, the values are displayed for each name. If `total_only=true`, the `items` list will be empty. + """ + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ProtectionGroupResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ProtectionGroupResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ProtectionGroupResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ProtectionGroupResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(ProtectionGroupResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, ProtectionGroupResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/protection_group_snapshot.py b/pypureclient/flasharray/FA_2_26/models/protection_group_snapshot.py new file mode 100644 index 000000000..a6453bf8b --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/protection_group_snapshot.py @@ -0,0 +1,183 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class ProtectionGroupSnapshot(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'name': 'str', + 'created': 'int', + 'destroyed': 'bool', + 'pod': 'FixedReference', + 'source': 'FixedReference', + 'space': 'Space', + 'suffix': 'str', + 'time_remaining': 'int', + 'eradication_config': 'ProtectionGroupEradicationConfig', + 'id': 'str' + } + + attribute_map = { + 'name': 'name', + 'created': 'created', + 'destroyed': 'destroyed', + 'pod': 'pod', + 'source': 'source', + 'space': 'space', + 'suffix': 'suffix', + 'time_remaining': 'time_remaining', + 'eradication_config': 'eradication_config', + 'id': 'id' + } + + required_args = { + } + + def __init__( + self, + name=None, # type: str + created=None, # type: int + destroyed=None, # type: bool + pod=None, # type: models.FixedReference + source=None, # type: models.FixedReference + space=None, # type: models.Space + suffix=None, # type: str + time_remaining=None, # type: int + eradication_config=None, # type: models.ProtectionGroupEradicationConfig + id=None, # type: str + ): + """ + Keyword args: + name (str): A user-specified name. The name must be locally unique and can be changed. + created (int): The snapshot creation time of the original snapshot source. Measured in milliseconds since the UNIX epoch. + destroyed (bool): Returns a value of `true` if the protection group snapshot has been destroyed and is pending eradication. The `time_remaining` value displays the amount of time left until the destroyed snapshot is permanently eradicated. Before the `time_remaining` period has elapsed, the destroyed snapshot can be recovered by setting `destroyed=false`. Once the `time_remaining` period has elapsed, the snapshot is permanently eradicated and can no longer be recovered. + pod (FixedReference): The pod in which the protection group of the protection group snapshot resides. + source (FixedReference): The original protection group from which this snapshot was taken. + space (Space): Returns provisioned size and physical storage consumption data for each protection group. + suffix (str): The name suffix appended to the protection group name to make up the full protection group snapshot name in the form `PGROUP.SUFFIX`. If `suffix` is not specified, the protection group name is in the form `PGROUP.NNN`, where `NNN` is a unique monotonically increasing number. If multiple protection group snapshots are created at a time, the suffix name is appended to those snapshots. + time_remaining (int): The amount of time left until the destroyed snapshot is permanently eradicated. Measured in milliseconds. Before the `time_remaining` period has elapsed, the destroyed snapshot can be recovered by setting `destroyed=false`. + eradication_config (ProtectionGroupEradicationConfig) + id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. + """ + if name is not None: + self.name = name + if created is not None: + self.created = created + if destroyed is not None: + self.destroyed = destroyed + if pod is not None: + self.pod = pod + if source is not None: + self.source = source + if space is not None: + self.space = space + if suffix is not None: + self.suffix = suffix + if time_remaining is not None: + self.time_remaining = time_remaining + if eradication_config is not None: + self.eradication_config = eradication_config + if id is not None: + self.id = id + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ProtectionGroupSnapshot`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ProtectionGroupSnapshot`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ProtectionGroupSnapshot`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ProtectionGroupSnapshot`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(ProtectionGroupSnapshot, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, ProtectionGroupSnapshot): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/protection_group_snapshot_get_response.py b/pypureclient/flasharray/FA_2_26/models/protection_group_snapshot_get_response.py new file mode 100644 index 000000000..1ff91e919 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/protection_group_snapshot_get_response.py @@ -0,0 +1,153 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class ProtectionGroupSnapshotGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[ProtectionGroupSnapshot]', + 'total': 'list[ProtectionGroupSnapshot]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items', + 'total': 'total' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.ProtectionGroupSnapshot] + total=None, # type: List[models.ProtectionGroupSnapshot] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[ProtectionGroupSnapshot]): Returns a list of all items after filtering. If applicable, the values are displayed for each name. + total (list[ProtectionGroupSnapshot]): The aggregate value of all items after filtering. If applicable, the average value is displayed instead. If applicable, the values are displayed for each field. + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + if total is not None: + self.total = total + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ProtectionGroupSnapshotGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ProtectionGroupSnapshotGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ProtectionGroupSnapshotGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ProtectionGroupSnapshotGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(ProtectionGroupSnapshotGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, ProtectionGroupSnapshotGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/protection_group_snapshot_patch.py b/pypureclient/flasharray/FA_2_26/models/protection_group_snapshot_patch.py new file mode 100644 index 000000000..04faa6589 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/protection_group_snapshot_patch.py @@ -0,0 +1,183 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class ProtectionGroupSnapshotPatch(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'name': 'str', + 'created': 'int', + 'destroyed': 'bool', + 'pod': 'FixedReference', + 'source': 'FixedReference', + 'space': 'Space', + 'suffix': 'str', + 'time_remaining': 'int', + 'eradication_config': 'ProtectionGroupEradicationConfig', + 'id': 'str' + } + + attribute_map = { + 'name': 'name', + 'created': 'created', + 'destroyed': 'destroyed', + 'pod': 'pod', + 'source': 'source', + 'space': 'space', + 'suffix': 'suffix', + 'time_remaining': 'time_remaining', + 'eradication_config': 'eradication_config', + 'id': 'id' + } + + required_args = { + } + + def __init__( + self, + name=None, # type: str + created=None, # type: int + destroyed=None, # type: bool + pod=None, # type: models.FixedReference + source=None, # type: models.FixedReference + space=None, # type: models.Space + suffix=None, # type: str + time_remaining=None, # type: int + eradication_config=None, # type: models.ProtectionGroupEradicationConfig + id=None, # type: str + ): + """ + Keyword args: + name (str): A user-specified name. The name must be locally unique and can be changed. + created (int): The snapshot creation time of the original snapshot source. Measured in milliseconds since the UNIX epoch. + destroyed (bool): Returns a value of `true` if the protection group snapshot has been destroyed and is pending eradication. The `time_remaining` value displays the amount of time left until the destroyed snapshot is permanently eradicated. Before the `time_remaining` period has elapsed, the destroyed snapshot can be recovered by setting `destroyed=false`. Once the `time_remaining` period has elapsed, the snapshot is permanently eradicated and can no longer be recovered. + pod (FixedReference): The pod in which the protection group of the protection group snapshot resides. + source (FixedReference): The original protection group from which this snapshot was taken. + space (Space): Returns provisioned size and physical storage consumption data for each protection group. + suffix (str) + time_remaining (int): The amount of time left until the destroyed snapshot is permanently eradicated. Measured in milliseconds. Before the `time_remaining` period has elapsed, the destroyed snapshot can be recovered by setting `destroyed=false`. + eradication_config (ProtectionGroupEradicationConfig) + id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. + """ + if name is not None: + self.name = name + if created is not None: + self.created = created + if destroyed is not None: + self.destroyed = destroyed + if pod is not None: + self.pod = pod + if source is not None: + self.source = source + if space is not None: + self.space = space + if suffix is not None: + self.suffix = suffix + if time_remaining is not None: + self.time_remaining = time_remaining + if eradication_config is not None: + self.eradication_config = eradication_config + if id is not None: + self.id = id + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ProtectionGroupSnapshotPatch`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ProtectionGroupSnapshotPatch`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ProtectionGroupSnapshotPatch`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ProtectionGroupSnapshotPatch`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(ProtectionGroupSnapshotPatch, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, ProtectionGroupSnapshotPatch): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/protection_group_snapshot_post.py b/pypureclient/flasharray/FA_2_26/models/protection_group_snapshot_post.py new file mode 100644 index 000000000..4bea79c62 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/protection_group_snapshot_post.py @@ -0,0 +1,183 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class ProtectionGroupSnapshotPost(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'id': 'str', + 'name': 'str', + 'created': 'int', + 'destroyed': 'bool', + 'pod': 'FixedReference', + 'source': 'FixedReference', + 'space': 'Space', + 'suffix': 'str', + 'time_remaining': 'int', + 'eradication_config': 'ProtectionGroupEradicationConfig' + } + + attribute_map = { + 'id': 'id', + 'name': 'name', + 'created': 'created', + 'destroyed': 'destroyed', + 'pod': 'pod', + 'source': 'source', + 'space': 'space', + 'suffix': 'suffix', + 'time_remaining': 'time_remaining', + 'eradication_config': 'eradication_config' + } + + required_args = { + } + + def __init__( + self, + id=None, # type: str + name=None, # type: str + created=None, # type: int + destroyed=None, # type: bool + pod=None, # type: models.FixedReference + source=None, # type: models.FixedReference + space=None, # type: models.Space + suffix=None, # type: str + time_remaining=None, # type: int + eradication_config=None, # type: models.ProtectionGroupEradicationConfig + ): + """ + Keyword args: + id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. + name (str): A user-specified name. The name must be locally unique and can be changed. + created (int): The snapshot creation time of the original snapshot source. Measured in milliseconds since the UNIX epoch. + destroyed (bool) + pod (FixedReference): The pod in which the protection group of the protection group snapshot resides. + source (FixedReference): The original protection group from which this snapshot was taken. + space (Space): Returns provisioned size and physical storage consumption data for each protection group. + suffix (str): The name suffix appended to the protection group name to make up the full protection group snapshot name in the form `PGROUP.SUFFIX`. If `suffix` is not specified, the protection group name is in the form `PGROUP.NNN`, where `NNN` is a unique monotonically increasing number. If multiple protection group snapshots are created at a time, the suffix name is appended to those snapshots. + time_remaining (int): The amount of time left until the destroyed snapshot is permanently eradicated. Measured in milliseconds. Before the `time_remaining` period has elapsed, the destroyed snapshot can be recovered by setting `destroyed=false`. + eradication_config (ProtectionGroupEradicationConfig) + """ + if id is not None: + self.id = id + if name is not None: + self.name = name + if created is not None: + self.created = created + if destroyed is not None: + self.destroyed = destroyed + if pod is not None: + self.pod = pod + if source is not None: + self.source = source + if space is not None: + self.space = space + if suffix is not None: + self.suffix = suffix + if time_remaining is not None: + self.time_remaining = time_remaining + if eradication_config is not None: + self.eradication_config = eradication_config + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ProtectionGroupSnapshotPost`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ProtectionGroupSnapshotPost`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ProtectionGroupSnapshotPost`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ProtectionGroupSnapshotPost`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(ProtectionGroupSnapshotPost, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, ProtectionGroupSnapshotPost): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/protection_group_snapshot_replica.py b/pypureclient/flasharray/FA_2_26/models/protection_group_snapshot_replica.py new file mode 100644 index 000000000..5dd0834d0 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/protection_group_snapshot_replica.py @@ -0,0 +1,183 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class ProtectionGroupSnapshotReplica(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'id': 'str', + 'name': 'str', + 'created': 'int', + 'destroyed': 'bool', + 'pod': 'FixedReference', + 'source': 'FixedReference', + 'space': 'Space', + 'suffix': 'str', + 'time_remaining': 'int', + 'eradication_config': 'ProtectionGroupEradicationConfig' + } + + attribute_map = { + 'id': 'id', + 'name': 'name', + 'created': 'created', + 'destroyed': 'destroyed', + 'pod': 'pod', + 'source': 'source', + 'space': 'space', + 'suffix': 'suffix', + 'time_remaining': 'time_remaining', + 'eradication_config': 'eradication_config' + } + + required_args = { + } + + def __init__( + self, + id=None, # type: str + name=None, # type: str + created=None, # type: int + destroyed=None, # type: bool + pod=None, # type: models.FixedReference + source=None, # type: models.FixedReference + space=None, # type: models.Space + suffix=None, # type: str + time_remaining=None, # type: int + eradication_config=None, # type: models.ProtectionGroupEradicationConfig + ): + """ + Keyword args: + id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. + name (str): A user-specified name. The name must be locally unique and can be changed. + created (int): The snapshot creation time of the original snapshot source. Measured in milliseconds since the UNIX epoch. + destroyed (bool): Returns a value of `true` if the protection group snapshot has been destroyed and is pending eradication. The `time_remaining` value displays the amount of time left until the destroyed snapshot is permanently eradicated. Before the `time_remaining` period has elapsed, the destroyed snapshot can be recovered by setting `destroyed=false`. Once the `time_remaining` period has elapsed, the snapshot is permanently eradicated and can no longer be recovered. + pod (FixedReference): The pod in which the protection group of the protection group snapshot resides. + source (FixedReference): The original protection group from which this snapshot was taken. + space (Space): Returns provisioned size and physical storage consumption data for each protection group. + suffix (str): The name suffix appended to the protection group name to make up the full protection group snapshot name in the form `PGROUP.SUFFIX`. If `suffix` is not specified, the protection group name is in the form `PGROUP.NNN`, where `NNN` is a unique monotonically increasing number. If multiple protection group snapshots are created at a time, the suffix name is appended to those snapshots. + time_remaining (int): The amount of time left until the destroyed snapshot is permanently eradicated. Measured in milliseconds. Before the `time_remaining` period has elapsed, the destroyed snapshot can be recovered by setting `destroyed=false`. + eradication_config (ProtectionGroupEradicationConfig) + """ + if id is not None: + self.id = id + if name is not None: + self.name = name + if created is not None: + self.created = created + if destroyed is not None: + self.destroyed = destroyed + if pod is not None: + self.pod = pod + if source is not None: + self.source = source + if space is not None: + self.space = space + if suffix is not None: + self.suffix = suffix + if time_remaining is not None: + self.time_remaining = time_remaining + if eradication_config is not None: + self.eradication_config = eradication_config + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ProtectionGroupSnapshotReplica`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ProtectionGroupSnapshotReplica`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ProtectionGroupSnapshotReplica`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ProtectionGroupSnapshotReplica`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(ProtectionGroupSnapshotReplica, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, ProtectionGroupSnapshotReplica): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/protection_group_snapshot_replica_response.py b/pypureclient/flasharray/FA_2_26/models/protection_group_snapshot_replica_response.py new file mode 100644 index 000000000..69697ecb3 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/protection_group_snapshot_replica_response.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class ProtectionGroupSnapshotReplicaResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'items': 'list[ProtectionGroupSnapshotReplica]' + } + + attribute_map = { + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + items=None, # type: List[models.ProtectionGroupSnapshotReplica] + ): + """ + Keyword args: + items (list[ProtectionGroupSnapshotReplica]): Returns a list of all items after the operation. If applicable, the values are displayed for each name. + """ + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ProtectionGroupSnapshotReplicaResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ProtectionGroupSnapshotReplicaResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ProtectionGroupSnapshotReplicaResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ProtectionGroupSnapshotReplicaResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(ProtectionGroupSnapshotReplicaResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, ProtectionGroupSnapshotReplicaResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/protection_group_snapshot_response.py b/pypureclient/flasharray/FA_2_26/models/protection_group_snapshot_response.py new file mode 100644 index 000000000..f855b3d7c --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/protection_group_snapshot_response.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class ProtectionGroupSnapshotResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'items': 'list[ProtectionGroupSnapshot]' + } + + attribute_map = { + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + items=None, # type: List[models.ProtectionGroupSnapshot] + ): + """ + Keyword args: + items (list[ProtectionGroupSnapshot]): Returns a list of all items after filtering. If applicable, the values are displayed for each name. + """ + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ProtectionGroupSnapshotResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ProtectionGroupSnapshotResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ProtectionGroupSnapshotResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ProtectionGroupSnapshotResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(ProtectionGroupSnapshotResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, ProtectionGroupSnapshotResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/protection_group_snapshot_transfer.py b/pypureclient/flasharray/FA_2_26/models/protection_group_snapshot_transfer.py new file mode 100644 index 000000000..98f411641 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/protection_group_snapshot_transfer.py @@ -0,0 +1,171 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class ProtectionGroupSnapshotTransfer(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'id': 'str', + 'name': 'str', + 'destroyed': 'bool', + 'started': 'int', + 'progress': 'float', + 'completed': 'int', + 'data_transferred': 'int', + 'physical_bytes_written': 'int' + } + + attribute_map = { + 'id': 'id', + 'name': 'name', + 'destroyed': 'destroyed', + 'started': 'started', + 'progress': 'progress', + 'completed': 'completed', + 'data_transferred': 'data_transferred', + 'physical_bytes_written': 'physical_bytes_written' + } + + required_args = { + } + + def __init__( + self, + id=None, # type: str + name=None, # type: str + destroyed=None, # type: bool + started=None, # type: int + progress=None, # type: float + completed=None, # type: int + data_transferred=None, # type: int + physical_bytes_written=None, # type: int + ): + """ + Keyword args: + id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. + name (str): A user-specified name. The name must be locally unique and can be changed. + destroyed (bool): Returns a value of `true` if the snapshot has been destroyed and is pending eradication. The destroyed snapshot can be recovered by setting `destroyed=false`. Once the eradication pending period has elapsed, the snapshot is permanently eradicated and can no longer be recovered. + started (int): The timestamp of when the snapshot replication process started. Measured in milliseconds since the UNIX epoch. + progress (float): The percentage progress of the snapshot transfer from the source array to the target. Displayed in decimal format. + completed (int): The timestamp of when the snapshot replication process completed. Measured in milliseconds since the UNIX epoch. + data_transferred (int): The number of bytes transferred from the source to the target as part of the replication process. Measured in bytes. + physical_bytes_written (int): The amount of physical/logical data written to the target due to replication. Measured in bytes. + """ + if id is not None: + self.id = id + if name is not None: + self.name = name + if destroyed is not None: + self.destroyed = destroyed + if started is not None: + self.started = started + if progress is not None: + self.progress = progress + if completed is not None: + self.completed = completed + if data_transferred is not None: + self.data_transferred = data_transferred + if physical_bytes_written is not None: + self.physical_bytes_written = physical_bytes_written + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ProtectionGroupSnapshotTransfer`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ProtectionGroupSnapshotTransfer`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ProtectionGroupSnapshotTransfer`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ProtectionGroupSnapshotTransfer`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(ProtectionGroupSnapshotTransfer, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, ProtectionGroupSnapshotTransfer): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/protection_group_snapshot_transfer_get_response.py b/pypureclient/flasharray/FA_2_26/models/protection_group_snapshot_transfer_get_response.py new file mode 100644 index 000000000..70456d7cc --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/protection_group_snapshot_transfer_get_response.py @@ -0,0 +1,153 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class ProtectionGroupSnapshotTransferGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[ProtectionGroupSnapshotTransfer]', + 'total': 'list[ProtectionGroupSnapshotTransfer]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items', + 'total': 'total' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.ProtectionGroupSnapshotTransfer] + total=None, # type: List[models.ProtectionGroupSnapshotTransfer] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[ProtectionGroupSnapshotTransfer]): Returns a list of all items after filtering. If applicable, the values are displayed for each name. + total (list[ProtectionGroupSnapshotTransfer]): The aggregate value of all items after filtering. Where it makes more sense, the average value is displayed instead. If applicable, the values are displayed for each field. + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + if total is not None: + self.total = total + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ProtectionGroupSnapshotTransferGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ProtectionGroupSnapshotTransferGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ProtectionGroupSnapshotTransferGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ProtectionGroupSnapshotTransferGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(ProtectionGroupSnapshotTransferGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, ProtectionGroupSnapshotTransferGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/protection_group_snapshot_transfer_response.py b/pypureclient/flasharray/FA_2_26/models/protection_group_snapshot_transfer_response.py new file mode 100644 index 000000000..4ebb97b2b --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/protection_group_snapshot_transfer_response.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class ProtectionGroupSnapshotTransferResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'items': 'list[ProtectionGroupSnapshotTransfer]' + } + + attribute_map = { + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + items=None, # type: List[models.ProtectionGroupSnapshotTransfer] + ): + """ + Keyword args: + items (list[ProtectionGroupSnapshotTransfer]): Returns a list of all items after filtering. If applicable, the values are displayed for each name. + """ + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ProtectionGroupSnapshotTransferResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ProtectionGroupSnapshotTransferResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ProtectionGroupSnapshotTransferResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ProtectionGroupSnapshotTransferResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(ProtectionGroupSnapshotTransferResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, ProtectionGroupSnapshotTransferResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/protection_group_space.py b/pypureclient/flasharray/FA_2_26/models/protection_group_space.py new file mode 100644 index 000000000..36f2e59e4 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/protection_group_space.py @@ -0,0 +1,141 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class ProtectionGroupSpace(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'name': 'str', + 'space': 'Space', + 'time': 'int' + } + + attribute_map = { + 'name': 'name', + 'space': 'space', + 'time': 'time' + } + + required_args = { + } + + def __init__( + self, + name=None, # type: str + space=None, # type: models.Space + time=None, # type: int + ): + """ + Keyword args: + name (str): A locally unique, system-generated name. The name cannot be modified. + space (Space): Displays size and space consumption information. + time (int) + """ + if name is not None: + self.name = name + if space is not None: + self.space = space + if time is not None: + self.time = time + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ProtectionGroupSpace`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ProtectionGroupSpace`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ProtectionGroupSpace`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ProtectionGroupSpace`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(ProtectionGroupSpace, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, ProtectionGroupSpace): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/protection_group_target.py b/pypureclient/flasharray/FA_2_26/models/protection_group_target.py new file mode 100644 index 000000000..fde1f40ac --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/protection_group_target.py @@ -0,0 +1,141 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class ProtectionGroupTarget(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'protection_group': 'ReferenceNoId', + 'target': 'ReferenceNoId', + 'allowed': 'bool' + } + + attribute_map = { + 'protection_group': 'protection_group', + 'target': 'target', + 'allowed': 'allowed' + } + + required_args = { + } + + def __init__( + self, + protection_group=None, # type: models.ReferenceNoId + target=None, # type: models.ReferenceNoId + allowed=None, # type: bool + ): + """ + Keyword args: + protection_group (ReferenceNoId) + target (ReferenceNoId) + allowed (bool): If set to `true`, the target array has allowed the source array to replicate protection group data to the target array. If set to `false`, the target array has not allowed the source array to replicate protection group data to the target. + """ + if protection_group is not None: + self.protection_group = protection_group + if target is not None: + self.target = target + if allowed is not None: + self.allowed = allowed + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ProtectionGroupTarget`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ProtectionGroupTarget`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ProtectionGroupTarget`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ProtectionGroupTarget`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(ProtectionGroupTarget, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, ProtectionGroupTarget): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/protection_group_target_get_response.py b/pypureclient/flasharray/FA_2_26/models/protection_group_target_get_response.py new file mode 100644 index 000000000..4c24946f4 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/protection_group_target_get_response.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class ProtectionGroupTargetGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[TargetProtectionGroup]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.TargetProtectionGroup] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[TargetProtectionGroup]): Returns a list of all items after filtering. If applicable, the values are displayed for each name. + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ProtectionGroupTargetGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ProtectionGroupTargetGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ProtectionGroupTargetGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ProtectionGroupTargetGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(ProtectionGroupTargetGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, ProtectionGroupTargetGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/protection_group_target_response.py b/pypureclient/flasharray/FA_2_26/models/protection_group_target_response.py new file mode 100644 index 000000000..18ef303a6 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/protection_group_target_response.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class ProtectionGroupTargetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'items': 'list[TargetProtectionGroup]' + } + + attribute_map = { + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + items=None, # type: List[models.TargetProtectionGroup] + ): + """ + Keyword args: + items (list[TargetProtectionGroup]): Returns a list of all items after filtering. If applicable, the values are displayed for each name. + """ + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ProtectionGroupTargetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ProtectionGroupTargetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ProtectionGroupTargetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ProtectionGroupTargetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(ProtectionGroupTargetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, ProtectionGroupTargetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/protection_groups_volumes.py b/pypureclient/flasharray/FA_2_26/models/protection_groups_volumes.py new file mode 100644 index 000000000..9c2608c28 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/protection_groups_volumes.py @@ -0,0 +1,135 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class ProtectionGroupsVolumes(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'group': 'Reference', + 'member': 'object' + } + + attribute_map = { + 'group': 'group', + 'member': 'member' + } + + required_args = { + } + + def __init__( + self, + group=None, # type: models.Reference + member=None, # type: object + ): + """ + Keyword args: + group (Reference) + member (object) + """ + if group is not None: + self.group = group + if member is not None: + self.member = member + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ProtectionGroupsVolumes`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ProtectionGroupsVolumes`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ProtectionGroupsVolumes`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ProtectionGroupsVolumes`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(ProtectionGroupsVolumes, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, ProtectionGroupsVolumes): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/protection_groups_volumes_get_response.py b/pypureclient/flasharray/FA_2_26/models/protection_groups_volumes_get_response.py new file mode 100644 index 000000000..064989e64 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/protection_groups_volumes_get_response.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class ProtectionGroupsVolumesGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[ProtectionGroupsVolumes]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.ProtectionGroupsVolumes] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[ProtectionGroupsVolumes]) + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ProtectionGroupsVolumesGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ProtectionGroupsVolumesGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ProtectionGroupsVolumesGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ProtectionGroupsVolumesGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(ProtectionGroupsVolumesGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, ProtectionGroupsVolumesGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/protection_groups_volumes_response.py b/pypureclient/flasharray/FA_2_26/models/protection_groups_volumes_response.py new file mode 100644 index 000000000..6a0248f75 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/protection_groups_volumes_response.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class ProtectionGroupsVolumesResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'items': 'list[ProtectionGroupsVolumes]' + } + + attribute_map = { + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + items=None, # type: List[models.ProtectionGroupsVolumes] + ): + """ + Keyword args: + items (list[ProtectionGroupsVolumes]) + """ + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ProtectionGroupsVolumesResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ProtectionGroupsVolumesResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ProtectionGroupsVolumesResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ProtectionGroupsVolumesResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(ProtectionGroupsVolumesResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, ProtectionGroupsVolumesResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/qos.py b/pypureclient/flasharray/FA_2_26/models/qos.py new file mode 100644 index 000000000..bf689470c --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/qos.py @@ -0,0 +1,145 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class Qos(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'bandwidth_limit': 'int', + 'iops_limit': 'int' + } + + attribute_map = { + 'bandwidth_limit': 'bandwidth_limit', + 'iops_limit': 'iops_limit' + } + + required_args = { + } + + def __init__( + self, + bandwidth_limit=None, # type: int + iops_limit=None, # type: int + ): + """ + Keyword args: + bandwidth_limit (int): The maximum QoS bandwidth limit for the volume. Whenever throughput exceeds the bandwidth limit, throttling occurs. Measured in bytes per second. Maximum limit is 512 GB/s. + iops_limit (int): The QoS IOPs limit for the volume. + """ + if bandwidth_limit is not None: + self.bandwidth_limit = bandwidth_limit + if iops_limit is not None: + self.iops_limit = iops_limit + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Qos`".format(key)) + if key == "bandwidth_limit" and value is not None: + if value > 549755813888: + raise ValueError("Invalid value for `bandwidth_limit`, value must be less than or equal to `549755813888`") + if value < 1048576: + raise ValueError("Invalid value for `bandwidth_limit`, must be a value greater than or equal to `1048576`") + if key == "iops_limit" and value is not None: + if value > 100000000: + raise ValueError("Invalid value for `iops_limit`, value must be less than or equal to `100000000`") + if value < 100: + raise ValueError("Invalid value for `iops_limit`, must be a value greater than or equal to `100`") + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Qos`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Qos`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Qos`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(Qos, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, Qos): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/reference.py b/pypureclient/flasharray/FA_2_26/models/reference.py new file mode 100644 index 000000000..0b40122ed --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/reference.py @@ -0,0 +1,135 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class Reference(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'id': 'str', + 'name': 'str' + } + + attribute_map = { + 'id': 'id', + 'name': 'name' + } + + required_args = { + } + + def __init__( + self, + id=None, # type: str + name=None, # type: str + ): + """ + Keyword args: + id (str): A globally unique, system-generated ID. The ID cannot be modified. + name (str): The resource name, such as volume name, pod name, snapshot name, and so on. + """ + if id is not None: + self.id = id + if name is not None: + self.name = name + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Reference`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Reference`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Reference`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Reference`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(Reference, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, Reference): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/reference_no_id.py b/pypureclient/flasharray/FA_2_26/models/reference_no_id.py new file mode 100644 index 000000000..e48f0a49f --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/reference_no_id.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class ReferenceNoId(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'name': 'str' + } + + attribute_map = { + 'name': 'name' + } + + required_args = { + } + + def __init__( + self, + name=None, # type: str + ): + """ + Keyword args: + name (str): The resource name, such as volume name, pod name, snapshot name, and so on. + """ + if name is not None: + self.name = name + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ReferenceNoId`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ReferenceNoId`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ReferenceNoId`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ReferenceNoId`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(ReferenceNoId, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, ReferenceNoId): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/reference_no_id_with_type.py b/pypureclient/flasharray/FA_2_26/models/reference_no_id_with_type.py new file mode 100644 index 000000000..caadae1f4 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/reference_no_id_with_type.py @@ -0,0 +1,135 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class ReferenceNoIdWithType(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'name': 'str', + 'resource_type': 'str' + } + + attribute_map = { + 'name': 'name', + 'resource_type': 'resource_type' + } + + required_args = { + } + + def __init__( + self, + name=None, # type: str + resource_type=None, # type: str + ): + """ + Keyword args: + name (str): The resource name, such as volume name, pod name, snapshot name, and so on. + resource_type (str): Type of the object (full name of the endpoint). Valid values include `hosts`, `host-groups`, `network-interfaces`, `pods`, `ports`, `pod-replica-links`, `subnets`, `volumes`, `volume-snapshots`, `volume-groups`, `directories`, `policies/nfs`, `policies/smb`, and `policies/snapshot`, etc. + """ + if name is not None: + self.name = name + if resource_type is not None: + self.resource_type = resource_type + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ReferenceNoIdWithType`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ReferenceNoIdWithType`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ReferenceNoIdWithType`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ReferenceNoIdWithType`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(ReferenceNoIdWithType, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, ReferenceNoIdWithType): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/reference_with_type.py b/pypureclient/flasharray/FA_2_26/models/reference_with_type.py new file mode 100644 index 000000000..9a3d832b0 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/reference_with_type.py @@ -0,0 +1,141 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class ReferenceWithType(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'id': 'str', + 'name': 'str', + 'resource_type': 'str' + } + + attribute_map = { + 'id': 'id', + 'name': 'name', + 'resource_type': 'resource_type' + } + + required_args = { + } + + def __init__( + self, + id=None, # type: str + name=None, # type: str + resource_type=None, # type: str + ): + """ + Keyword args: + id (str): A globally unique, system-generated ID. The ID cannot be modified. + name (str): The resource name, such as volume name, pod name, snapshot name, and so on. + resource_type (str): Type of the object (full name of the endpoint). Valid values are `hosts`, `host-groups`, `network-interfaces`, `pods`, `ports`, `pod-replica-links`, `subnets`, `volumes`, `volume-snapshots`, `volume-groups`, `directories`, `policies/nfs`, `policies/smb`, and `policies/snapshot`, etc. + """ + if id is not None: + self.id = id + if name is not None: + self.name = name + if resource_type is not None: + self.resource_type = resource_type + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ReferenceWithType`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ReferenceWithType`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ReferenceWithType`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ReferenceWithType`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(ReferenceWithType, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, ReferenceWithType): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/remote_pod.py b/pypureclient/flasharray/FA_2_26/models/remote_pod.py new file mode 100644 index 000000000..55d33d2af --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/remote_pod.py @@ -0,0 +1,141 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class RemotePod(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'id': 'str', + 'name': 'str', + 'arrays': 'list[Resource]' + } + + attribute_map = { + 'id': 'id', + 'name': 'name', + 'arrays': 'arrays' + } + + required_args = { + } + + def __init__( + self, + id=None, # type: str + name=None, # type: str + arrays=None, # type: List[models.Resource] + ): + """ + Keyword args: + id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. + name (str): A user-specified name. The name must be locally unique and can be changed. + arrays (list[Resource]) + """ + if id is not None: + self.id = id + if name is not None: + self.name = name + if arrays is not None: + self.arrays = arrays + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `RemotePod`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `RemotePod`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `RemotePod`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `RemotePod`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(RemotePod, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, RemotePod): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/remote_pods_response.py b/pypureclient/flasharray/FA_2_26/models/remote_pods_response.py new file mode 100644 index 000000000..4cda02709 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/remote_pods_response.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class RemotePodsResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[RemotePod]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.RemotePod] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[RemotePod]): Returns a list of all items after filtering. The values are displayed for each name where meaningful. + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `RemotePodsResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `RemotePodsResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `RemotePodsResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `RemotePodsResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(RemotePodsResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, RemotePodsResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/remote_protection_group.py b/pypureclient/flasharray/FA_2_26/models/remote_protection_group.py new file mode 100644 index 000000000..54f1eef59 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/remote_protection_group.py @@ -0,0 +1,171 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class RemoteProtectionGroup(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'id': 'str', + 'name': 'str', + 'destroyed': 'bool', + 'is_local': 'bool', + 'remote': 'FixedReference', + 'source': 'FixedReference', + 'target_retention': 'RetentionPolicy', + 'time_remaining': 'int' + } + + attribute_map = { + 'id': 'id', + 'name': 'name', + 'destroyed': 'destroyed', + 'is_local': 'is_local', + 'remote': 'remote', + 'source': 'source', + 'target_retention': 'target_retention', + 'time_remaining': 'time_remaining' + } + + required_args = { + } + + def __init__( + self, + id=None, # type: str + name=None, # type: str + destroyed=None, # type: bool + is_local=None, # type: bool + remote=None, # type: models.FixedReference + source=None, # type: models.FixedReference + target_retention=None, # type: models.RetentionPolicy + time_remaining=None, # type: int + ): + """ + Keyword args: + id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. + name (str): A locally unique, system-generated name. The name cannot be modified. + destroyed (bool): Returns a value of `true` if the remote protection group has been destroyed and is pending eradication. The `time_remaining` value displays the amount of time left until the destroyed remote protection group is permanently eradicated. Before the `time_remaining` period has elapsed, the destroyed remote protection group can be recovered by setting `destroyed=false`. Once the `time_remaining` period has elapsed, the remote protection group is permanently eradicated and can no longer be recovered. + is_local (bool): If set to `true`, the location reference is to the local array. If set to `false`, the location reference is to a remote location, such as a remote array or offload target. + remote (FixedReference): The offload target that the remote protection group is on. + source (FixedReference): The array where the remote protection group is replicated from. + target_retention (RetentionPolicy): The retention policy for the remote protection group. + time_remaining (int): Milliseconds remaining until eradication, if remote protection group has been destroyed. + """ + if id is not None: + self.id = id + if name is not None: + self.name = name + if destroyed is not None: + self.destroyed = destroyed + if is_local is not None: + self.is_local = is_local + if remote is not None: + self.remote = remote + if source is not None: + self.source = source + if target_retention is not None: + self.target_retention = target_retention + if time_remaining is not None: + self.time_remaining = time_remaining + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `RemoteProtectionGroup`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `RemoteProtectionGroup`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `RemoteProtectionGroup`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `RemoteProtectionGroup`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(RemoteProtectionGroup, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, RemoteProtectionGroup): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/remote_protection_group_get_response.py b/pypureclient/flasharray/FA_2_26/models/remote_protection_group_get_response.py new file mode 100644 index 000000000..dea1453c9 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/remote_protection_group_get_response.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class RemoteProtectionGroupGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[RemoteProtectionGroup]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.RemoteProtectionGroup] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[RemoteProtectionGroup]): Returns a list of all items after filtering. The values are displayed for each name where meaningful. + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `RemoteProtectionGroupGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `RemoteProtectionGroupGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `RemoteProtectionGroupGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `RemoteProtectionGroupGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(RemoteProtectionGroupGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, RemoteProtectionGroupGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/remote_protection_group_response.py b/pypureclient/flasharray/FA_2_26/models/remote_protection_group_response.py new file mode 100644 index 000000000..843d870b0 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/remote_protection_group_response.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class RemoteProtectionGroupResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'items': 'list[RemoteProtectionGroup]' + } + + attribute_map = { + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + items=None, # type: List[models.RemoteProtectionGroup] + ): + """ + Keyword args: + items (list[RemoteProtectionGroup]): Returns a list of all items after filtering. The values are displayed for each name where meaningful. + """ + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `RemoteProtectionGroupResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `RemoteProtectionGroupResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `RemoteProtectionGroupResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `RemoteProtectionGroupResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(RemoteProtectionGroupResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, RemoteProtectionGroupResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/remote_protection_group_snapshot.py b/pypureclient/flasharray/FA_2_26/models/remote_protection_group_snapshot.py new file mode 100644 index 000000000..9266bbdbe --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/remote_protection_group_snapshot.py @@ -0,0 +1,177 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class RemoteProtectionGroupSnapshot(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'id': 'str', + 'name': 'str', + 'created': 'int', + 'destroyed': 'bool', + 'is_local': 'bool', + 'remote': 'FixedReference', + 'source': 'FixedReference', + 'suffix': 'str', + 'time_remaining': 'int' + } + + attribute_map = { + 'id': 'id', + 'name': 'name', + 'created': 'created', + 'destroyed': 'destroyed', + 'is_local': 'is_local', + 'remote': 'remote', + 'source': 'source', + 'suffix': 'suffix', + 'time_remaining': 'time_remaining' + } + + required_args = { + } + + def __init__( + self, + id=None, # type: str + name=None, # type: str + created=None, # type: int + destroyed=None, # type: bool + is_local=None, # type: bool + remote=None, # type: models.FixedReference + source=None, # type: models.FixedReference + suffix=None, # type: str + time_remaining=None, # type: int + ): + """ + Keyword args: + id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. + name (str): A locally unique, system-generated name. The name cannot be modified. + created (int): The creation time of the snapshot on the original source of the snapshot. Measured in milliseconds since the UNIX epoch. + destroyed (bool): Destroyed and pending eradication? If not specified, defaults to false. + is_local (bool): The status of whether or not the remote protection group snapshot is replicated from the current array. + remote (FixedReference): The offload target where the remote protection group snapshot is located. + source (FixedReference): The original protection group from which this snapshot was taken. + suffix (str): The suffix that is appended to the `source_name` value to generate the full remote protection group snapshot name in the form `PGROUP.SUFFIX`. If the suffix is not specified, the system constructs the snapshot name in the form `PGROUP.NNN`, where `PGROUP` is the protection group name, and `NNN` is a monotonically increasing number. + time_remaining (int): The time remaining until eradication, measured in milliseconds, if the snapshot has been destroyed. + """ + if id is not None: + self.id = id + if name is not None: + self.name = name + if created is not None: + self.created = created + if destroyed is not None: + self.destroyed = destroyed + if is_local is not None: + self.is_local = is_local + if remote is not None: + self.remote = remote + if source is not None: + self.source = source + if suffix is not None: + self.suffix = suffix + if time_remaining is not None: + self.time_remaining = time_remaining + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `RemoteProtectionGroupSnapshot`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `RemoteProtectionGroupSnapshot`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `RemoteProtectionGroupSnapshot`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `RemoteProtectionGroupSnapshot`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(RemoteProtectionGroupSnapshot, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, RemoteProtectionGroupSnapshot): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/remote_protection_group_snapshot_get_response.py b/pypureclient/flasharray/FA_2_26/models/remote_protection_group_snapshot_get_response.py new file mode 100644 index 000000000..2f1bd8bce --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/remote_protection_group_snapshot_get_response.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class RemoteProtectionGroupSnapshotGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[RemoteProtectionGroupSnapshot]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.RemoteProtectionGroupSnapshot] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[RemoteProtectionGroupSnapshot]): Returns a list of all items after filtering. If applicable, the values are displayed for each name. + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `RemoteProtectionGroupSnapshotGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `RemoteProtectionGroupSnapshotGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `RemoteProtectionGroupSnapshotGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `RemoteProtectionGroupSnapshotGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(RemoteProtectionGroupSnapshotGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, RemoteProtectionGroupSnapshotGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/remote_protection_group_snapshot_post.py b/pypureclient/flasharray/FA_2_26/models/remote_protection_group_snapshot_post.py new file mode 100644 index 000000000..8a318e07e --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/remote_protection_group_snapshot_post.py @@ -0,0 +1,177 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class RemoteProtectionGroupSnapshotPost(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'id': 'str', + 'name': 'str', + 'created': 'int', + 'destroyed': 'bool', + 'is_local': 'bool', + 'remote': 'FixedReference', + 'source': 'FixedReference', + 'suffix': 'str', + 'time_remaining': 'int' + } + + attribute_map = { + 'id': 'id', + 'name': 'name', + 'created': 'created', + 'destroyed': 'destroyed', + 'is_local': 'is_local', + 'remote': 'remote', + 'source': 'source', + 'suffix': 'suffix', + 'time_remaining': 'time_remaining' + } + + required_args = { + } + + def __init__( + self, + id=None, # type: str + name=None, # type: str + created=None, # type: int + destroyed=None, # type: bool + is_local=None, # type: bool + remote=None, # type: models.FixedReference + source=None, # type: models.FixedReference + suffix=None, # type: str + time_remaining=None, # type: int + ): + """ + Keyword args: + id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. + name (str): A locally unique, system-generated name. The name cannot be modified. + created (int): The creation time of the snapshot on the original source of the snapshot. Measured in milliseconds since the UNIX epoch. + destroyed (bool) + is_local (bool): The status of whether or not the remote protection group snapshot is replicated from the current array. + remote (FixedReference): The offload target where the remote protection group snapshot is located. + source (FixedReference): The original protection group from which this snapshot was taken. + suffix (str): Specifies a name suffix for the snapshots created. The snapshot is created on the FlashArray specified by the `on` parameter. The `on` parameter cannot refer to an offload target. Snapshots with suffixes specified have names in the form `PGROUP.SUFFIX` instead of the default `PGROUP.NNN` form. The names of all snapshots created by a single command that specifies this option have the same suffix. + time_remaining (int): The time remaining until eradication, measured in milliseconds, if the snapshot has been destroyed. + """ + if id is not None: + self.id = id + if name is not None: + self.name = name + if created is not None: + self.created = created + if destroyed is not None: + self.destroyed = destroyed + if is_local is not None: + self.is_local = is_local + if remote is not None: + self.remote = remote + if source is not None: + self.source = source + if suffix is not None: + self.suffix = suffix + if time_remaining is not None: + self.time_remaining = time_remaining + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `RemoteProtectionGroupSnapshotPost`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `RemoteProtectionGroupSnapshotPost`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `RemoteProtectionGroupSnapshotPost`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `RemoteProtectionGroupSnapshotPost`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(RemoteProtectionGroupSnapshotPost, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, RemoteProtectionGroupSnapshotPost): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/remote_protection_group_snapshot_response.py b/pypureclient/flasharray/FA_2_26/models/remote_protection_group_snapshot_response.py new file mode 100644 index 000000000..327690620 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/remote_protection_group_snapshot_response.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class RemoteProtectionGroupSnapshotResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'items': 'list[RemoteProtectionGroupSnapshot]' + } + + attribute_map = { + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + items=None, # type: List[models.RemoteProtectionGroupSnapshot] + ): + """ + Keyword args: + items (list[RemoteProtectionGroupSnapshot]): Returns a list of all items after filtering. If applicable, the values are displayed for each name. + """ + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `RemoteProtectionGroupSnapshotResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `RemoteProtectionGroupSnapshotResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `RemoteProtectionGroupSnapshotResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `RemoteProtectionGroupSnapshotResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(RemoteProtectionGroupSnapshotResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, RemoteProtectionGroupSnapshotResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/remote_protection_group_snapshot_transfer.py b/pypureclient/flasharray/FA_2_26/models/remote_protection_group_snapshot_transfer.py new file mode 100644 index 000000000..62b4ba4cf --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/remote_protection_group_snapshot_transfer.py @@ -0,0 +1,177 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class RemoteProtectionGroupSnapshotTransfer(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'id': 'str', + 'name': 'str', + 'destroyed': 'bool', + 'started': 'int', + 'progress': 'float', + 'completed': 'int', + 'data_transferred': 'int', + 'physical_bytes_written': 'int', + 'source': 'Reference' + } + + attribute_map = { + 'id': 'id', + 'name': 'name', + 'destroyed': 'destroyed', + 'started': 'started', + 'progress': 'progress', + 'completed': 'completed', + 'data_transferred': 'data_transferred', + 'physical_bytes_written': 'physical_bytes_written', + 'source': 'source' + } + + required_args = { + } + + def __init__( + self, + id=None, # type: str + name=None, # type: str + destroyed=None, # type: bool + started=None, # type: int + progress=None, # type: float + completed=None, # type: int + data_transferred=None, # type: int + physical_bytes_written=None, # type: int + source=None, # type: models.Reference + ): + """ + Keyword args: + id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. + name (str): A user-specified name. The name must be locally unique and can be changed. + destroyed (bool): Returns a value of `true` if the snapshot has been destroyed and is pending eradication. The destroyed snapshot can be recovered by setting `destroyed=false`. Once the eradication pending period has elapsed, the snapshot is permanently eradicated and can no longer be recovered. + started (int): The timestamp of when the snapshot replication process started. Measured in milliseconds since the UNIX epoch. + progress (float): The percentage progress of the snapshot transfer from the source array to the target. Displayed in decimal format. + completed (int): The timestamp of when the snapshot replication process completed. Measured in milliseconds since the UNIX epoch. + data_transferred (int): The number of bytes transferred from the source to the target as part of the replication process. Measured in bytes. + physical_bytes_written (int): The amount of physical/logical data written to the target due to replication. Measured in bytes. + source (Reference): The original protection group from which this snapshot was taken. + """ + if id is not None: + self.id = id + if name is not None: + self.name = name + if destroyed is not None: + self.destroyed = destroyed + if started is not None: + self.started = started + if progress is not None: + self.progress = progress + if completed is not None: + self.completed = completed + if data_transferred is not None: + self.data_transferred = data_transferred + if physical_bytes_written is not None: + self.physical_bytes_written = physical_bytes_written + if source is not None: + self.source = source + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `RemoteProtectionGroupSnapshotTransfer`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `RemoteProtectionGroupSnapshotTransfer`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `RemoteProtectionGroupSnapshotTransfer`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `RemoteProtectionGroupSnapshotTransfer`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(RemoteProtectionGroupSnapshotTransfer, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, RemoteProtectionGroupSnapshotTransfer): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/remote_protection_group_snapshot_transfer_get_response.py b/pypureclient/flasharray/FA_2_26/models/remote_protection_group_snapshot_transfer_get_response.py new file mode 100644 index 000000000..8b3d9a01b --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/remote_protection_group_snapshot_transfer_get_response.py @@ -0,0 +1,153 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class RemoteProtectionGroupSnapshotTransferGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[RemoteProtectionGroupSnapshotTransfer]', + 'total': 'list[RemoteProtectionGroupSnapshotTransfer]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items', + 'total': 'total' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.RemoteProtectionGroupSnapshotTransfer] + total=None, # type: List[models.RemoteProtectionGroupSnapshotTransfer] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[RemoteProtectionGroupSnapshotTransfer]) + total (list[RemoteProtectionGroupSnapshotTransfer]): The aggregate value of all items after filtering. Where it makes more sense, the average value is displayed instead. If applicable, the values are displayed for each field. + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + if total is not None: + self.total = total + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `RemoteProtectionGroupSnapshotTransferGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `RemoteProtectionGroupSnapshotTransferGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `RemoteProtectionGroupSnapshotTransferGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `RemoteProtectionGroupSnapshotTransferGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(RemoteProtectionGroupSnapshotTransferGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, RemoteProtectionGroupSnapshotTransferGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/remote_protection_group_snapshot_transfer_response.py b/pypureclient/flasharray/FA_2_26/models/remote_protection_group_snapshot_transfer_response.py new file mode 100644 index 000000000..793432702 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/remote_protection_group_snapshot_transfer_response.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class RemoteProtectionGroupSnapshotTransferResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'items': 'list[RemoteProtectionGroupSnapshotTransfer]' + } + + attribute_map = { + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + items=None, # type: List[models.RemoteProtectionGroupSnapshotTransfer] + ): + """ + Keyword args: + items (list[RemoteProtectionGroupSnapshotTransfer]) + """ + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `RemoteProtectionGroupSnapshotTransferResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `RemoteProtectionGroupSnapshotTransferResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `RemoteProtectionGroupSnapshotTransferResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `RemoteProtectionGroupSnapshotTransferResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(RemoteProtectionGroupSnapshotTransferResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, RemoteProtectionGroupSnapshotTransferResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/remote_volume_snapshot.py b/pypureclient/flasharray/FA_2_26/models/remote_volume_snapshot.py new file mode 100644 index 000000000..ea726b8e0 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/remote_volume_snapshot.py @@ -0,0 +1,177 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class RemoteVolumeSnapshot(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'id': 'str', + 'name': 'str', + 'created': 'int', + 'destroyed': 'bool', + 'pod': 'FixedReference', + 'provisioned': 'int', + 'source': 'FixedReference', + 'suffix': 'str', + 'time_remaining': 'int' + } + + attribute_map = { + 'id': 'id', + 'name': 'name', + 'created': 'created', + 'destroyed': 'destroyed', + 'pod': 'pod', + 'provisioned': 'provisioned', + 'source': 'source', + 'suffix': 'suffix', + 'time_remaining': 'time_remaining' + } + + required_args = { + } + + def __init__( + self, + id=None, # type: str + name=None, # type: str + created=None, # type: int + destroyed=None, # type: bool + pod=None, # type: models.FixedReference + provisioned=None, # type: int + source=None, # type: models.FixedReference + suffix=None, # type: str + time_remaining=None, # type: int + ): + """ + Keyword args: + id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. + name (str): A user-specified name. The name must be locally unique and can be changed. + created (int): The snapshot creation time. Measured in milliseconds since the UNIX epoch. + destroyed (bool): Returns a value of `true` if the snapshot has been destroyed and is pending eradication. The `time_remaining` value displays the amount of time left until the destroyed volume snapshot is permanently eradicated. Before the `time_remaining` period has elapsed, the destroyed volume snapshot can be recovered by setting `destroyed=false`. Once the `time_remaining` period has elapsed, the volume snapshot is permanently eradicated and can no longer be recovered. + pod (FixedReference): A reference to the pod. + provisioned (int): The provisioned space of the snapshot. Measured in bytes. The minimum size is 1048576 (1MB), the maximum size is 4503599627370496 (4PB) + source (FixedReference): The volume from which this snapshot was taken. + suffix (str): The suffix that is appended to the `source_name` value to generate the full volume snapshot name in the form `VOL.SUFFIX`. If the suffix is not specified, the system constructs the snapshot name in the form `VOL.NNN`, where `VOL` is the volume name, and `NNN` is a monotonically increasing number. + time_remaining (int): The amount of time left until the destroyed snapshot is permanently eradicated. Measured in milliseconds. Before the `time_remaining` period has elapsed, the destroyed snapshot can be recovered by setting `destroyed=false`. + """ + if id is not None: + self.id = id + if name is not None: + self.name = name + if created is not None: + self.created = created + if destroyed is not None: + self.destroyed = destroyed + if pod is not None: + self.pod = pod + if provisioned is not None: + self.provisioned = provisioned + if source is not None: + self.source = source + if suffix is not None: + self.suffix = suffix + if time_remaining is not None: + self.time_remaining = time_remaining + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `RemoteVolumeSnapshot`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `RemoteVolumeSnapshot`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `RemoteVolumeSnapshot`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `RemoteVolumeSnapshot`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(RemoteVolumeSnapshot, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, RemoteVolumeSnapshot): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/remote_volume_snapshot_get_response.py b/pypureclient/flasharray/FA_2_26/models/remote_volume_snapshot_get_response.py new file mode 100644 index 000000000..914c9546b --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/remote_volume_snapshot_get_response.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class RemoteVolumeSnapshotGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[RemoteVolumeSnapshot]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.RemoteVolumeSnapshot] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[RemoteVolumeSnapshot]) + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `RemoteVolumeSnapshotGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `RemoteVolumeSnapshotGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `RemoteVolumeSnapshotGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `RemoteVolumeSnapshotGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(RemoteVolumeSnapshotGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, RemoteVolumeSnapshotGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/remote_volume_snapshot_response.py b/pypureclient/flasharray/FA_2_26/models/remote_volume_snapshot_response.py new file mode 100644 index 000000000..9e7d925bf --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/remote_volume_snapshot_response.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class RemoteVolumeSnapshotResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'items': 'list[RemoteVolumeSnapshot]' + } + + attribute_map = { + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + items=None, # type: List[models.RemoteVolumeSnapshot] + ): + """ + Keyword args: + items (list[RemoteVolumeSnapshot]) + """ + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `RemoteVolumeSnapshotResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `RemoteVolumeSnapshotResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `RemoteVolumeSnapshotResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `RemoteVolumeSnapshotResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(RemoteVolumeSnapshotResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, RemoteVolumeSnapshotResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/remote_volume_snapshot_transfer.py b/pypureclient/flasharray/FA_2_26/models/remote_volume_snapshot_transfer.py new file mode 100644 index 000000000..d01ed8c29 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/remote_volume_snapshot_transfer.py @@ -0,0 +1,171 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class RemoteVolumeSnapshotTransfer(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'id': 'str', + 'name': 'str', + 'destroyed': 'bool', + 'started': 'int', + 'progress': 'float', + 'completed': 'int', + 'data_transferred': 'int', + 'physical_bytes_written': 'int' + } + + attribute_map = { + 'id': 'id', + 'name': 'name', + 'destroyed': 'destroyed', + 'started': 'started', + 'progress': 'progress', + 'completed': 'completed', + 'data_transferred': 'data_transferred', + 'physical_bytes_written': 'physical_bytes_written' + } + + required_args = { + } + + def __init__( + self, + id=None, # type: str + name=None, # type: str + destroyed=None, # type: bool + started=None, # type: int + progress=None, # type: float + completed=None, # type: int + data_transferred=None, # type: int + physical_bytes_written=None, # type: int + ): + """ + Keyword args: + id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. + name (str): A user-specified name. The name must be locally unique and can be changed. + destroyed (bool): Returns a value of `true` if the snapshot has been destroyed and is pending eradication. The destroyed snapshot can be recovered by setting `destroyed=false`. Once the eradication pending period has elapsed, the snapshot is permanently eradicated and can no longer be recovered. + started (int): The timestamp of when the snapshot replication process started. Measured in milliseconds since the UNIX epoch. + progress (float): The percentage progress of the snapshot transfer from the source array to the target. Displayed in decimal format. + completed (int): The timestamp of when the snapshot replication process completed. Measured in milliseconds since the UNIX epoch. + data_transferred (int): The number of bytes transferred from the source to the target as part of the replication process. Measured in bytes. + physical_bytes_written (int): The amount of physical/logical data written to the target due to replication. Measured in bytes. + """ + if id is not None: + self.id = id + if name is not None: + self.name = name + if destroyed is not None: + self.destroyed = destroyed + if started is not None: + self.started = started + if progress is not None: + self.progress = progress + if completed is not None: + self.completed = completed + if data_transferred is not None: + self.data_transferred = data_transferred + if physical_bytes_written is not None: + self.physical_bytes_written = physical_bytes_written + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `RemoteVolumeSnapshotTransfer`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `RemoteVolumeSnapshotTransfer`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `RemoteVolumeSnapshotTransfer`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `RemoteVolumeSnapshotTransfer`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(RemoteVolumeSnapshotTransfer, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, RemoteVolumeSnapshotTransfer): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/remote_volume_snapshot_transfer_get_response.py b/pypureclient/flasharray/FA_2_26/models/remote_volume_snapshot_transfer_get_response.py new file mode 100644 index 000000000..7913e7538 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/remote_volume_snapshot_transfer_get_response.py @@ -0,0 +1,153 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class RemoteVolumeSnapshotTransferGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[RemoteVolumeSnapshotTransfer]', + 'total': 'list[RemoteVolumeSnapshotTransfer]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items', + 'total': 'total' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.RemoteVolumeSnapshotTransfer] + total=None, # type: List[models.RemoteVolumeSnapshotTransfer] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[RemoteVolumeSnapshotTransfer]) + total (list[RemoteVolumeSnapshotTransfer]): The aggregate value of all items after filtering. Where it makes more sense, the average value is displayed instead. The values are displayed for each field where meaningful. + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + if total is not None: + self.total = total + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `RemoteVolumeSnapshotTransferGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `RemoteVolumeSnapshotTransferGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `RemoteVolumeSnapshotTransferGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `RemoteVolumeSnapshotTransferGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(RemoteVolumeSnapshotTransferGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, RemoteVolumeSnapshotTransferGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/remote_volume_snapshot_transfer_response.py b/pypureclient/flasharray/FA_2_26/models/remote_volume_snapshot_transfer_response.py new file mode 100644 index 000000000..3d2fca74b --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/remote_volume_snapshot_transfer_response.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class RemoteVolumeSnapshotTransferResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'items': 'list[RemoteVolumeSnapshotTransfer]' + } + + attribute_map = { + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + items=None, # type: List[models.RemoteVolumeSnapshotTransfer] + ): + """ + Keyword args: + items (list[RemoteVolumeSnapshotTransfer]) + """ + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `RemoteVolumeSnapshotTransferResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `RemoteVolumeSnapshotTransferResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `RemoteVolumeSnapshotTransferResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `RemoteVolumeSnapshotTransferResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(RemoteVolumeSnapshotTransferResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, RemoteVolumeSnapshotTransferResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/replica_link_lag.py b/pypureclient/flasharray/FA_2_26/models/replica_link_lag.py new file mode 100644 index 000000000..b1f0a8dd9 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/replica_link_lag.py @@ -0,0 +1,141 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class ReplicaLinkLag(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'avg': 'int', + 'max': 'int' + } + + attribute_map = { + 'avg': 'avg', + 'max': 'max' + } + + required_args = { + } + + def __init__( + self, + avg=None, # type: int + max=None, # type: int + ): + """ + Keyword args: + avg (int): The average time difference between the current time and `recovery_point` for a period of time. + max (int): The maximum time difference between the current time and `recovery_point` for a period of time. + """ + if avg is not None: + self.avg = avg + if max is not None: + self.max = max + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ReplicaLinkLag`".format(key)) + if key == "avg" and value is not None: + if value < 0: + raise ValueError("Invalid value for `avg`, must be a value greater than or equal to `0`") + if key == "max" and value is not None: + if value < 0: + raise ValueError("Invalid value for `max`, must be a value greater than or equal to `0`") + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ReplicaLinkLag`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ReplicaLinkLag`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ReplicaLinkLag`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(ReplicaLinkLag, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, ReplicaLinkLag): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/replica_link_performance_replication.py b/pypureclient/flasharray/FA_2_26/models/replica_link_performance_replication.py new file mode 100644 index 000000000..a24ebcd7b --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/replica_link_performance_replication.py @@ -0,0 +1,180 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class ReplicaLinkPerformanceReplication(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'bytes_per_sec_from_remote': 'int', + 'bytes_per_sec_to_remote': 'int', + 'bytes_per_sec_total': 'int', + 'direction': 'str', + 'local_pod': 'FixedReference', + 'remote_pod': 'FixedReference', + 'remotes': 'list[FixedReference]', + 'time': 'int' + } + + attribute_map = { + 'bytes_per_sec_from_remote': 'bytes_per_sec_from_remote', + 'bytes_per_sec_to_remote': 'bytes_per_sec_to_remote', + 'bytes_per_sec_total': 'bytes_per_sec_total', + 'direction': 'direction', + 'local_pod': 'local_pod', + 'remote_pod': 'remote_pod', + 'remotes': 'remotes', + 'time': 'time' + } + + required_args = { + } + + def __init__( + self, + bytes_per_sec_from_remote=None, # type: int + bytes_per_sec_to_remote=None, # type: int + bytes_per_sec_total=None, # type: int + direction=None, # type: str + local_pod=None, # type: models.FixedReference + remote_pod=None, # type: models.FixedReference + remotes=None, # type: List[models.FixedReference] + time=None, # type: int + ): + """ + Keyword args: + bytes_per_sec_from_remote (int): The number of bytes received per second from a remote array. + bytes_per_sec_to_remote (int): The number of bytes transmitted per second to a remote array. + bytes_per_sec_total (int): Total bytes transmitted and received per second. + direction (str): The direction of replication. Valid values are `inbound` and `outbound`. + local_pod (FixedReference): Reference to a local pod. + remote_pod (FixedReference): Reference to a remote pod. + remotes (list[FixedReference]): Reference to a remote array. + time (int): Sample time in milliseconds since the UNIX epoch. + """ + if bytes_per_sec_from_remote is not None: + self.bytes_per_sec_from_remote = bytes_per_sec_from_remote + if bytes_per_sec_to_remote is not None: + self.bytes_per_sec_to_remote = bytes_per_sec_to_remote + if bytes_per_sec_total is not None: + self.bytes_per_sec_total = bytes_per_sec_total + if direction is not None: + self.direction = direction + if local_pod is not None: + self.local_pod = local_pod + if remote_pod is not None: + self.remote_pod = remote_pod + if remotes is not None: + self.remotes = remotes + if time is not None: + self.time = time + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ReplicaLinkPerformanceReplication`".format(key)) + if key == "bytes_per_sec_from_remote" and value is not None: + if value < 0: + raise ValueError("Invalid value for `bytes_per_sec_from_remote`, must be a value greater than or equal to `0`") + if key == "bytes_per_sec_to_remote" and value is not None: + if value < 0: + raise ValueError("Invalid value for `bytes_per_sec_to_remote`, must be a value greater than or equal to `0`") + if key == "bytes_per_sec_total" and value is not None: + if value < 0: + raise ValueError("Invalid value for `bytes_per_sec_total`, must be a value greater than or equal to `0`") + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ReplicaLinkPerformanceReplication`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ReplicaLinkPerformanceReplication`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ReplicaLinkPerformanceReplication`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(ReplicaLinkPerformanceReplication, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, ReplicaLinkPerformanceReplication): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/replication_performance_with_total.py b/pypureclient/flasharray/FA_2_26/models/replication_performance_with_total.py new file mode 100644 index 000000000..6a8c7f899 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/replication_performance_with_total.py @@ -0,0 +1,150 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class ReplicationPerformanceWithTotal(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'from_remote_bytes_per_sec': 'int', + 'to_remote_bytes_per_sec': 'int', + 'total_bytes_per_sec': 'int' + } + + attribute_map = { + 'from_remote_bytes_per_sec': 'from_remote_bytes_per_sec', + 'to_remote_bytes_per_sec': 'to_remote_bytes_per_sec', + 'total_bytes_per_sec': 'total_bytes_per_sec' + } + + required_args = { + } + + def __init__( + self, + from_remote_bytes_per_sec=None, # type: int + to_remote_bytes_per_sec=None, # type: int + total_bytes_per_sec=None, # type: int + ): + """ + Keyword args: + from_remote_bytes_per_sec (int): The number of bytes received per second from a remote array. The number will be zero if the arrays are unable to communicate. + to_remote_bytes_per_sec (int): The number of bytes transmitted per second to a remote array. The number will be zero if the arrays are unable to communicate. + total_bytes_per_sec (int): Total bytes transmitted and received per second. The number will be zero if the arrays are unable to communicate. + """ + if from_remote_bytes_per_sec is not None: + self.from_remote_bytes_per_sec = from_remote_bytes_per_sec + if to_remote_bytes_per_sec is not None: + self.to_remote_bytes_per_sec = to_remote_bytes_per_sec + if total_bytes_per_sec is not None: + self.total_bytes_per_sec = total_bytes_per_sec + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ReplicationPerformanceWithTotal`".format(key)) + if key == "from_remote_bytes_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `from_remote_bytes_per_sec`, must be a value greater than or equal to `0`") + if key == "to_remote_bytes_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `to_remote_bytes_per_sec`, must be a value greater than or equal to `0`") + if key == "total_bytes_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `total_bytes_per_sec`, must be a value greater than or equal to `0`") + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ReplicationPerformanceWithTotal`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ReplicationPerformanceWithTotal`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ReplicationPerformanceWithTotal`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(ReplicationPerformanceWithTotal, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, ReplicationPerformanceWithTotal): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/replication_schedule.py b/pypureclient/flasharray/FA_2_26/models/replication_schedule.py new file mode 100644 index 000000000..d43ab51ea --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/replication_schedule.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class ReplicationSchedule(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'at': 'int', + 'enabled': 'bool', + 'frequency': 'int', + 'blackout': 'TimeWindow' + } + + attribute_map = { + 'at': 'at', + 'enabled': 'enabled', + 'frequency': 'frequency', + 'blackout': 'blackout' + } + + required_args = { + } + + def __init__( + self, + at=None, # type: int + enabled=None, # type: bool + frequency=None, # type: int + blackout=None, # type: models.TimeWindow + ): + """ + Keyword args: + at (int): The time of day the snapshot is scheduled to be taken and retained on the local array or immediately replicated to the target(s). Measured in milliseconds since midnight. The `at` value is only used if the `frequency` parameter is in days (e.g., `259200000`, which is equal to 3 days). + enabled (bool): If set to `true`, the policy is enabled. + frequency (int): The frequency of the scheduled action. Measured in milliseconds. + blackout (TimeWindow): The range of time when to suspend replication. To clear the blackout period, set to an empty string (\"\"). + """ + if at is not None: + self.at = at + if enabled is not None: + self.enabled = enabled + if frequency is not None: + self.frequency = frequency + if blackout is not None: + self.blackout = blackout + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ReplicationSchedule`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ReplicationSchedule`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ReplicationSchedule`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ReplicationSchedule`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(ReplicationSchedule, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, ReplicationSchedule): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/resource.py b/pypureclient/flasharray/FA_2_26/models/resource.py new file mode 100644 index 000000000..797857df8 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/resource.py @@ -0,0 +1,135 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class Resource(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'id': 'str', + 'name': 'str' + } + + attribute_map = { + 'id': 'id', + 'name': 'name' + } + + required_args = { + } + + def __init__( + self, + id=None, # type: str + name=None, # type: str + ): + """ + Keyword args: + id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. + name (str): A user-specified name. The name must be locally unique and can be changed. + """ + if id is not None: + self.id = id + if name is not None: + self.name = name + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Resource`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Resource`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Resource`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Resource`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(Resource, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, Resource): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/resource_directory_space.py b/pypureclient/flasharray/FA_2_26/models/resource_directory_space.py new file mode 100644 index 000000000..dfd45f41b --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/resource_directory_space.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class ResourceDirectorySpace(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'id': 'str', + 'name': 'str', + 'space': 'Space', + 'time': 'int' + } + + attribute_map = { + 'id': 'id', + 'name': 'name', + 'space': 'space', + 'time': 'time' + } + + required_args = { + } + + def __init__( + self, + id=None, # type: str + name=None, # type: str + space=None, # type: models.Space + time=None, # type: int + ): + """ + Keyword args: + id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. + name (str): A locally unique, system-generated name. The name cannot be modified. + space (Space): Displays size and space consumption information. + time (int): The timestamp of when the data was taken, measured in milliseconds since the UNIX epoch. + """ + if id is not None: + self.id = id + if name is not None: + self.name = name + if space is not None: + self.space = space + if time is not None: + self.time = time + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ResourceDirectorySpace`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ResourceDirectorySpace`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ResourceDirectorySpace`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ResourceDirectorySpace`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(ResourceDirectorySpace, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, ResourceDirectorySpace): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/resource_directory_space_get_response.py b/pypureclient/flasharray/FA_2_26/models/resource_directory_space_get_response.py new file mode 100644 index 000000000..d9b277337 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/resource_directory_space_get_response.py @@ -0,0 +1,153 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class ResourceDirectorySpaceGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[ResourceDirectorySpace]', + 'total': 'list[ResourceDirectorySpace]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items', + 'total': 'total' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.ResourceDirectorySpace] + total=None, # type: List[models.ResourceDirectorySpace] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[ResourceDirectorySpace]): Returns a list of all items after filtering. If applicable, the values are displayed for each name. If `total_only=true`, the `items` list will be empty. + total (list[ResourceDirectorySpace]): The aggregate value of all items after filtering. Where meaningful, the average value is displayed instead. If applicable, the values are displayed for each field. + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + if total is not None: + self.total = total + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ResourceDirectorySpaceGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ResourceDirectorySpaceGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ResourceDirectorySpaceGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ResourceDirectorySpaceGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(ResourceDirectorySpaceGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, ResourceDirectorySpaceGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/resource_fixed_non_unique_name.py b/pypureclient/flasharray/FA_2_26/models/resource_fixed_non_unique_name.py new file mode 100644 index 000000000..875b43f68 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/resource_fixed_non_unique_name.py @@ -0,0 +1,135 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class ResourceFixedNonUniqueName(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'id': 'str', + 'name': 'str' + } + + attribute_map = { + 'id': 'id', + 'name': 'name' + } + + required_args = { + } + + def __init__( + self, + id=None, # type: str + name=None, # type: str + ): + """ + Keyword args: + id (str): A globally unique, system-generated ID. The ID cannot be modified. + name (str): Name of the resource. The name cannot be modified. + """ + if id is not None: + self.id = id + if name is not None: + self.name = name + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ResourceFixedNonUniqueName`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ResourceFixedNonUniqueName`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ResourceFixedNonUniqueName`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ResourceFixedNonUniqueName`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(ResourceFixedNonUniqueName, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, ResourceFixedNonUniqueName): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/resource_no_id.py b/pypureclient/flasharray/FA_2_26/models/resource_no_id.py new file mode 100644 index 000000000..1edfac9a1 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/resource_no_id.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class ResourceNoId(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'name': 'str' + } + + attribute_map = { + 'name': 'name' + } + + required_args = { + } + + def __init__( + self, + name=None, # type: str + ): + """ + Keyword args: + name (str): A user-specified name. The name must be locally unique and can be changed. + """ + if name is not None: + self.name = name + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ResourceNoId`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ResourceNoId`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ResourceNoId`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ResourceNoId`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(ResourceNoId, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, ResourceNoId): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/resource_performance.py b/pypureclient/flasharray/FA_2_26/models/resource_performance.py new file mode 100644 index 000000000..e6471ce1d --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/resource_performance.py @@ -0,0 +1,377 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class ResourcePerformance(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'bytes_per_mirrored_write': 'int', + 'bytes_per_op': 'int', + 'bytes_per_read': 'int', + 'bytes_per_write': 'int', + 'mirrored_write_bytes_per_sec': 'int', + 'mirrored_writes_per_sec': 'int', + 'qos_rate_limit_usec_per_mirrored_write_op': 'int', + 'qos_rate_limit_usec_per_read_op': 'int', + 'qos_rate_limit_usec_per_write_op': 'int', + 'queue_usec_per_mirrored_write_op': 'int', + 'queue_usec_per_read_op': 'int', + 'queue_usec_per_write_op': 'int', + 'read_bytes_per_sec': 'int', + 'reads_per_sec': 'int', + 'san_usec_per_mirrored_write_op': 'int', + 'san_usec_per_read_op': 'int', + 'san_usec_per_write_op': 'int', + 'service_usec_per_mirrored_write_op': 'int', + 'service_usec_per_read_op': 'int', + 'service_usec_per_write_op': 'int', + 'time': 'int', + 'usec_per_mirrored_write_op': 'int', + 'usec_per_read_op': 'int', + 'usec_per_write_op': 'int', + 'write_bytes_per_sec': 'int', + 'writes_per_sec': 'int', + 'service_usec_per_read_op_cache_reduction': 'float', + 'id': 'str', + 'name': 'str' + } + + attribute_map = { + 'bytes_per_mirrored_write': 'bytes_per_mirrored_write', + 'bytes_per_op': 'bytes_per_op', + 'bytes_per_read': 'bytes_per_read', + 'bytes_per_write': 'bytes_per_write', + 'mirrored_write_bytes_per_sec': 'mirrored_write_bytes_per_sec', + 'mirrored_writes_per_sec': 'mirrored_writes_per_sec', + 'qos_rate_limit_usec_per_mirrored_write_op': 'qos_rate_limit_usec_per_mirrored_write_op', + 'qos_rate_limit_usec_per_read_op': 'qos_rate_limit_usec_per_read_op', + 'qos_rate_limit_usec_per_write_op': 'qos_rate_limit_usec_per_write_op', + 'queue_usec_per_mirrored_write_op': 'queue_usec_per_mirrored_write_op', + 'queue_usec_per_read_op': 'queue_usec_per_read_op', + 'queue_usec_per_write_op': 'queue_usec_per_write_op', + 'read_bytes_per_sec': 'read_bytes_per_sec', + 'reads_per_sec': 'reads_per_sec', + 'san_usec_per_mirrored_write_op': 'san_usec_per_mirrored_write_op', + 'san_usec_per_read_op': 'san_usec_per_read_op', + 'san_usec_per_write_op': 'san_usec_per_write_op', + 'service_usec_per_mirrored_write_op': 'service_usec_per_mirrored_write_op', + 'service_usec_per_read_op': 'service_usec_per_read_op', + 'service_usec_per_write_op': 'service_usec_per_write_op', + 'time': 'time', + 'usec_per_mirrored_write_op': 'usec_per_mirrored_write_op', + 'usec_per_read_op': 'usec_per_read_op', + 'usec_per_write_op': 'usec_per_write_op', + 'write_bytes_per_sec': 'write_bytes_per_sec', + 'writes_per_sec': 'writes_per_sec', + 'service_usec_per_read_op_cache_reduction': 'service_usec_per_read_op_cache_reduction', + 'id': 'id', + 'name': 'name' + } + + required_args = { + } + + def __init__( + self, + bytes_per_mirrored_write=None, # type: int + bytes_per_op=None, # type: int + bytes_per_read=None, # type: int + bytes_per_write=None, # type: int + mirrored_write_bytes_per_sec=None, # type: int + mirrored_writes_per_sec=None, # type: int + qos_rate_limit_usec_per_mirrored_write_op=None, # type: int + qos_rate_limit_usec_per_read_op=None, # type: int + qos_rate_limit_usec_per_write_op=None, # type: int + queue_usec_per_mirrored_write_op=None, # type: int + queue_usec_per_read_op=None, # type: int + queue_usec_per_write_op=None, # type: int + read_bytes_per_sec=None, # type: int + reads_per_sec=None, # type: int + san_usec_per_mirrored_write_op=None, # type: int + san_usec_per_read_op=None, # type: int + san_usec_per_write_op=None, # type: int + service_usec_per_mirrored_write_op=None, # type: int + service_usec_per_read_op=None, # type: int + service_usec_per_write_op=None, # type: int + time=None, # type: int + usec_per_mirrored_write_op=None, # type: int + usec_per_read_op=None, # type: int + usec_per_write_op=None, # type: int + write_bytes_per_sec=None, # type: int + writes_per_sec=None, # type: int + service_usec_per_read_op_cache_reduction=None, # type: float + id=None, # type: str + name=None, # type: str + ): + """ + Keyword args: + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. + bytes_per_op (int): The average I/O size for both read and write (all) operations. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. + mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. + mirrored_writes_per_sec (int): The number of mirrored writes per second. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. + read_bytes_per_sec (int): The number of bytes read per second. + reads_per_sec (int): The number of read requests processed per second. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + write_bytes_per_sec (int): The number of bytes written per second. + writes_per_sec (int): The number of write requests processed per second. + service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. + id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. + name (str): A user-specified name. The name must be locally unique and can be changed. + """ + if bytes_per_mirrored_write is not None: + self.bytes_per_mirrored_write = bytes_per_mirrored_write + if bytes_per_op is not None: + self.bytes_per_op = bytes_per_op + if bytes_per_read is not None: + self.bytes_per_read = bytes_per_read + if bytes_per_write is not None: + self.bytes_per_write = bytes_per_write + if mirrored_write_bytes_per_sec is not None: + self.mirrored_write_bytes_per_sec = mirrored_write_bytes_per_sec + if mirrored_writes_per_sec is not None: + self.mirrored_writes_per_sec = mirrored_writes_per_sec + if qos_rate_limit_usec_per_mirrored_write_op is not None: + self.qos_rate_limit_usec_per_mirrored_write_op = qos_rate_limit_usec_per_mirrored_write_op + if qos_rate_limit_usec_per_read_op is not None: + self.qos_rate_limit_usec_per_read_op = qos_rate_limit_usec_per_read_op + if qos_rate_limit_usec_per_write_op is not None: + self.qos_rate_limit_usec_per_write_op = qos_rate_limit_usec_per_write_op + if queue_usec_per_mirrored_write_op is not None: + self.queue_usec_per_mirrored_write_op = queue_usec_per_mirrored_write_op + if queue_usec_per_read_op is not None: + self.queue_usec_per_read_op = queue_usec_per_read_op + if queue_usec_per_write_op is not None: + self.queue_usec_per_write_op = queue_usec_per_write_op + if read_bytes_per_sec is not None: + self.read_bytes_per_sec = read_bytes_per_sec + if reads_per_sec is not None: + self.reads_per_sec = reads_per_sec + if san_usec_per_mirrored_write_op is not None: + self.san_usec_per_mirrored_write_op = san_usec_per_mirrored_write_op + if san_usec_per_read_op is not None: + self.san_usec_per_read_op = san_usec_per_read_op + if san_usec_per_write_op is not None: + self.san_usec_per_write_op = san_usec_per_write_op + if service_usec_per_mirrored_write_op is not None: + self.service_usec_per_mirrored_write_op = service_usec_per_mirrored_write_op + if service_usec_per_read_op is not None: + self.service_usec_per_read_op = service_usec_per_read_op + if service_usec_per_write_op is not None: + self.service_usec_per_write_op = service_usec_per_write_op + if time is not None: + self.time = time + if usec_per_mirrored_write_op is not None: + self.usec_per_mirrored_write_op = usec_per_mirrored_write_op + if usec_per_read_op is not None: + self.usec_per_read_op = usec_per_read_op + if usec_per_write_op is not None: + self.usec_per_write_op = usec_per_write_op + if write_bytes_per_sec is not None: + self.write_bytes_per_sec = write_bytes_per_sec + if writes_per_sec is not None: + self.writes_per_sec = writes_per_sec + if service_usec_per_read_op_cache_reduction is not None: + self.service_usec_per_read_op_cache_reduction = service_usec_per_read_op_cache_reduction + if id is not None: + self.id = id + if name is not None: + self.name = name + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ResourcePerformance`".format(key)) + if key == "bytes_per_mirrored_write" and value is not None: + if value < 0: + raise ValueError("Invalid value for `bytes_per_mirrored_write`, must be a value greater than or equal to `0`") + if key == "bytes_per_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `bytes_per_op`, must be a value greater than or equal to `0`") + if key == "bytes_per_read" and value is not None: + if value < 0: + raise ValueError("Invalid value for `bytes_per_read`, must be a value greater than or equal to `0`") + if key == "bytes_per_write" and value is not None: + if value < 0: + raise ValueError("Invalid value for `bytes_per_write`, must be a value greater than or equal to `0`") + if key == "mirrored_write_bytes_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `mirrored_write_bytes_per_sec`, must be a value greater than or equal to `0`") + if key == "mirrored_writes_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `mirrored_writes_per_sec`, must be a value greater than or equal to `0`") + if key == "qos_rate_limit_usec_per_mirrored_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `qos_rate_limit_usec_per_mirrored_write_op`, must be a value greater than or equal to `0`") + if key == "qos_rate_limit_usec_per_read_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `qos_rate_limit_usec_per_read_op`, must be a value greater than or equal to `0`") + if key == "qos_rate_limit_usec_per_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `qos_rate_limit_usec_per_write_op`, must be a value greater than or equal to `0`") + if key == "queue_usec_per_mirrored_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `queue_usec_per_mirrored_write_op`, must be a value greater than or equal to `0`") + if key == "queue_usec_per_read_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `queue_usec_per_read_op`, must be a value greater than or equal to `0`") + if key == "queue_usec_per_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `queue_usec_per_write_op`, must be a value greater than or equal to `0`") + if key == "read_bytes_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `read_bytes_per_sec`, must be a value greater than or equal to `0`") + if key == "reads_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `reads_per_sec`, must be a value greater than or equal to `0`") + if key == "san_usec_per_mirrored_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `san_usec_per_mirrored_write_op`, must be a value greater than or equal to `0`") + if key == "san_usec_per_read_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `san_usec_per_read_op`, must be a value greater than or equal to `0`") + if key == "san_usec_per_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `san_usec_per_write_op`, must be a value greater than or equal to `0`") + if key == "service_usec_per_mirrored_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `service_usec_per_mirrored_write_op`, must be a value greater than or equal to `0`") + if key == "service_usec_per_read_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `service_usec_per_read_op`, must be a value greater than or equal to `0`") + if key == "service_usec_per_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `service_usec_per_write_op`, must be a value greater than or equal to `0`") + if key == "usec_per_mirrored_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `usec_per_mirrored_write_op`, must be a value greater than or equal to `0`") + if key == "usec_per_read_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `usec_per_read_op`, must be a value greater than or equal to `0`") + if key == "usec_per_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `usec_per_write_op`, must be a value greater than or equal to `0`") + if key == "write_bytes_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `write_bytes_per_sec`, must be a value greater than or equal to `0`") + if key == "writes_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `writes_per_sec`, must be a value greater than or equal to `0`") + if key == "service_usec_per_read_op_cache_reduction" and value is not None: + if value > 1.0: + raise ValueError("Invalid value for `service_usec_per_read_op_cache_reduction`, value must be less than or equal to `1.0`") + if value < 0.0: + raise ValueError("Invalid value for `service_usec_per_read_op_cache_reduction`, must be a value greater than or equal to `0.0`") + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ResourcePerformance`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ResourcePerformance`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ResourcePerformance`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(ResourcePerformance, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, ResourcePerformance): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/resource_performance_by_array.py b/pypureclient/flasharray/FA_2_26/models/resource_performance_by_array.py new file mode 100644 index 000000000..23db84bc0 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/resource_performance_by_array.py @@ -0,0 +1,383 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class ResourcePerformanceByArray(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'bytes_per_mirrored_write': 'int', + 'bytes_per_op': 'int', + 'bytes_per_read': 'int', + 'bytes_per_write': 'int', + 'mirrored_write_bytes_per_sec': 'int', + 'mirrored_writes_per_sec': 'int', + 'qos_rate_limit_usec_per_mirrored_write_op': 'int', + 'qos_rate_limit_usec_per_read_op': 'int', + 'qos_rate_limit_usec_per_write_op': 'int', + 'queue_usec_per_mirrored_write_op': 'int', + 'queue_usec_per_read_op': 'int', + 'queue_usec_per_write_op': 'int', + 'read_bytes_per_sec': 'int', + 'reads_per_sec': 'int', + 'san_usec_per_mirrored_write_op': 'int', + 'san_usec_per_read_op': 'int', + 'san_usec_per_write_op': 'int', + 'service_usec_per_mirrored_write_op': 'int', + 'service_usec_per_read_op': 'int', + 'service_usec_per_write_op': 'int', + 'time': 'int', + 'usec_per_mirrored_write_op': 'int', + 'usec_per_read_op': 'int', + 'usec_per_write_op': 'int', + 'write_bytes_per_sec': 'int', + 'writes_per_sec': 'int', + 'service_usec_per_read_op_cache_reduction': 'float', + 'id': 'str', + 'name': 'str', + 'array': 'Resource' + } + + attribute_map = { + 'bytes_per_mirrored_write': 'bytes_per_mirrored_write', + 'bytes_per_op': 'bytes_per_op', + 'bytes_per_read': 'bytes_per_read', + 'bytes_per_write': 'bytes_per_write', + 'mirrored_write_bytes_per_sec': 'mirrored_write_bytes_per_sec', + 'mirrored_writes_per_sec': 'mirrored_writes_per_sec', + 'qos_rate_limit_usec_per_mirrored_write_op': 'qos_rate_limit_usec_per_mirrored_write_op', + 'qos_rate_limit_usec_per_read_op': 'qos_rate_limit_usec_per_read_op', + 'qos_rate_limit_usec_per_write_op': 'qos_rate_limit_usec_per_write_op', + 'queue_usec_per_mirrored_write_op': 'queue_usec_per_mirrored_write_op', + 'queue_usec_per_read_op': 'queue_usec_per_read_op', + 'queue_usec_per_write_op': 'queue_usec_per_write_op', + 'read_bytes_per_sec': 'read_bytes_per_sec', + 'reads_per_sec': 'reads_per_sec', + 'san_usec_per_mirrored_write_op': 'san_usec_per_mirrored_write_op', + 'san_usec_per_read_op': 'san_usec_per_read_op', + 'san_usec_per_write_op': 'san_usec_per_write_op', + 'service_usec_per_mirrored_write_op': 'service_usec_per_mirrored_write_op', + 'service_usec_per_read_op': 'service_usec_per_read_op', + 'service_usec_per_write_op': 'service_usec_per_write_op', + 'time': 'time', + 'usec_per_mirrored_write_op': 'usec_per_mirrored_write_op', + 'usec_per_read_op': 'usec_per_read_op', + 'usec_per_write_op': 'usec_per_write_op', + 'write_bytes_per_sec': 'write_bytes_per_sec', + 'writes_per_sec': 'writes_per_sec', + 'service_usec_per_read_op_cache_reduction': 'service_usec_per_read_op_cache_reduction', + 'id': 'id', + 'name': 'name', + 'array': 'array' + } + + required_args = { + } + + def __init__( + self, + bytes_per_mirrored_write=None, # type: int + bytes_per_op=None, # type: int + bytes_per_read=None, # type: int + bytes_per_write=None, # type: int + mirrored_write_bytes_per_sec=None, # type: int + mirrored_writes_per_sec=None, # type: int + qos_rate_limit_usec_per_mirrored_write_op=None, # type: int + qos_rate_limit_usec_per_read_op=None, # type: int + qos_rate_limit_usec_per_write_op=None, # type: int + queue_usec_per_mirrored_write_op=None, # type: int + queue_usec_per_read_op=None, # type: int + queue_usec_per_write_op=None, # type: int + read_bytes_per_sec=None, # type: int + reads_per_sec=None, # type: int + san_usec_per_mirrored_write_op=None, # type: int + san_usec_per_read_op=None, # type: int + san_usec_per_write_op=None, # type: int + service_usec_per_mirrored_write_op=None, # type: int + service_usec_per_read_op=None, # type: int + service_usec_per_write_op=None, # type: int + time=None, # type: int + usec_per_mirrored_write_op=None, # type: int + usec_per_read_op=None, # type: int + usec_per_write_op=None, # type: int + write_bytes_per_sec=None, # type: int + writes_per_sec=None, # type: int + service_usec_per_read_op_cache_reduction=None, # type: float + id=None, # type: str + name=None, # type: str + array=None, # type: models.Resource + ): + """ + Keyword args: + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. + bytes_per_op (int): The average I/O size for both read and write (all) operations. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. + mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. + mirrored_writes_per_sec (int): The number of mirrored writes per second. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. + read_bytes_per_sec (int): The number of bytes read per second. + reads_per_sec (int): The number of read requests processed per second. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + write_bytes_per_sec (int): The number of bytes written per second. + writes_per_sec (int): The number of write requests processed per second. + service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. + id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. + name (str): A user-specified name. The name must be locally unique and can be changed. + array (Resource): The array on which the performance metrics were recorded. + """ + if bytes_per_mirrored_write is not None: + self.bytes_per_mirrored_write = bytes_per_mirrored_write + if bytes_per_op is not None: + self.bytes_per_op = bytes_per_op + if bytes_per_read is not None: + self.bytes_per_read = bytes_per_read + if bytes_per_write is not None: + self.bytes_per_write = bytes_per_write + if mirrored_write_bytes_per_sec is not None: + self.mirrored_write_bytes_per_sec = mirrored_write_bytes_per_sec + if mirrored_writes_per_sec is not None: + self.mirrored_writes_per_sec = mirrored_writes_per_sec + if qos_rate_limit_usec_per_mirrored_write_op is not None: + self.qos_rate_limit_usec_per_mirrored_write_op = qos_rate_limit_usec_per_mirrored_write_op + if qos_rate_limit_usec_per_read_op is not None: + self.qos_rate_limit_usec_per_read_op = qos_rate_limit_usec_per_read_op + if qos_rate_limit_usec_per_write_op is not None: + self.qos_rate_limit_usec_per_write_op = qos_rate_limit_usec_per_write_op + if queue_usec_per_mirrored_write_op is not None: + self.queue_usec_per_mirrored_write_op = queue_usec_per_mirrored_write_op + if queue_usec_per_read_op is not None: + self.queue_usec_per_read_op = queue_usec_per_read_op + if queue_usec_per_write_op is not None: + self.queue_usec_per_write_op = queue_usec_per_write_op + if read_bytes_per_sec is not None: + self.read_bytes_per_sec = read_bytes_per_sec + if reads_per_sec is not None: + self.reads_per_sec = reads_per_sec + if san_usec_per_mirrored_write_op is not None: + self.san_usec_per_mirrored_write_op = san_usec_per_mirrored_write_op + if san_usec_per_read_op is not None: + self.san_usec_per_read_op = san_usec_per_read_op + if san_usec_per_write_op is not None: + self.san_usec_per_write_op = san_usec_per_write_op + if service_usec_per_mirrored_write_op is not None: + self.service_usec_per_mirrored_write_op = service_usec_per_mirrored_write_op + if service_usec_per_read_op is not None: + self.service_usec_per_read_op = service_usec_per_read_op + if service_usec_per_write_op is not None: + self.service_usec_per_write_op = service_usec_per_write_op + if time is not None: + self.time = time + if usec_per_mirrored_write_op is not None: + self.usec_per_mirrored_write_op = usec_per_mirrored_write_op + if usec_per_read_op is not None: + self.usec_per_read_op = usec_per_read_op + if usec_per_write_op is not None: + self.usec_per_write_op = usec_per_write_op + if write_bytes_per_sec is not None: + self.write_bytes_per_sec = write_bytes_per_sec + if writes_per_sec is not None: + self.writes_per_sec = writes_per_sec + if service_usec_per_read_op_cache_reduction is not None: + self.service_usec_per_read_op_cache_reduction = service_usec_per_read_op_cache_reduction + if id is not None: + self.id = id + if name is not None: + self.name = name + if array is not None: + self.array = array + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ResourcePerformanceByArray`".format(key)) + if key == "bytes_per_mirrored_write" and value is not None: + if value < 0: + raise ValueError("Invalid value for `bytes_per_mirrored_write`, must be a value greater than or equal to `0`") + if key == "bytes_per_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `bytes_per_op`, must be a value greater than or equal to `0`") + if key == "bytes_per_read" and value is not None: + if value < 0: + raise ValueError("Invalid value for `bytes_per_read`, must be a value greater than or equal to `0`") + if key == "bytes_per_write" and value is not None: + if value < 0: + raise ValueError("Invalid value for `bytes_per_write`, must be a value greater than or equal to `0`") + if key == "mirrored_write_bytes_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `mirrored_write_bytes_per_sec`, must be a value greater than or equal to `0`") + if key == "mirrored_writes_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `mirrored_writes_per_sec`, must be a value greater than or equal to `0`") + if key == "qos_rate_limit_usec_per_mirrored_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `qos_rate_limit_usec_per_mirrored_write_op`, must be a value greater than or equal to `0`") + if key == "qos_rate_limit_usec_per_read_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `qos_rate_limit_usec_per_read_op`, must be a value greater than or equal to `0`") + if key == "qos_rate_limit_usec_per_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `qos_rate_limit_usec_per_write_op`, must be a value greater than or equal to `0`") + if key == "queue_usec_per_mirrored_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `queue_usec_per_mirrored_write_op`, must be a value greater than or equal to `0`") + if key == "queue_usec_per_read_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `queue_usec_per_read_op`, must be a value greater than or equal to `0`") + if key == "queue_usec_per_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `queue_usec_per_write_op`, must be a value greater than or equal to `0`") + if key == "read_bytes_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `read_bytes_per_sec`, must be a value greater than or equal to `0`") + if key == "reads_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `reads_per_sec`, must be a value greater than or equal to `0`") + if key == "san_usec_per_mirrored_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `san_usec_per_mirrored_write_op`, must be a value greater than or equal to `0`") + if key == "san_usec_per_read_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `san_usec_per_read_op`, must be a value greater than or equal to `0`") + if key == "san_usec_per_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `san_usec_per_write_op`, must be a value greater than or equal to `0`") + if key == "service_usec_per_mirrored_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `service_usec_per_mirrored_write_op`, must be a value greater than or equal to `0`") + if key == "service_usec_per_read_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `service_usec_per_read_op`, must be a value greater than or equal to `0`") + if key == "service_usec_per_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `service_usec_per_write_op`, must be a value greater than or equal to `0`") + if key == "usec_per_mirrored_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `usec_per_mirrored_write_op`, must be a value greater than or equal to `0`") + if key == "usec_per_read_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `usec_per_read_op`, must be a value greater than or equal to `0`") + if key == "usec_per_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `usec_per_write_op`, must be a value greater than or equal to `0`") + if key == "write_bytes_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `write_bytes_per_sec`, must be a value greater than or equal to `0`") + if key == "writes_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `writes_per_sec`, must be a value greater than or equal to `0`") + if key == "service_usec_per_read_op_cache_reduction" and value is not None: + if value > 1.0: + raise ValueError("Invalid value for `service_usec_per_read_op_cache_reduction`, value must be less than or equal to `1.0`") + if value < 0.0: + raise ValueError("Invalid value for `service_usec_per_read_op_cache_reduction`, must be a value greater than or equal to `0.0`") + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ResourcePerformanceByArray`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ResourcePerformanceByArray`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ResourcePerformanceByArray`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(ResourcePerformanceByArray, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, ResourcePerformanceByArray): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/resource_performance_by_array_get_response.py b/pypureclient/flasharray/FA_2_26/models/resource_performance_by_array_get_response.py new file mode 100644 index 000000000..3741a4057 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/resource_performance_by_array_get_response.py @@ -0,0 +1,153 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class ResourcePerformanceByArrayGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[ResourcePerformanceByArray]', + 'total': 'list[ResourcePerformanceByArray]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items', + 'total': 'total' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.ResourcePerformanceByArray] + total=None, # type: List[models.ResourcePerformanceByArray] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[ResourcePerformanceByArray]): Performance data, broken down by array. If `total_only=true`, the `items` list will be empty. + total (list[ResourcePerformanceByArray]): The aggregate value of all items after filtering. Where it makes more sense, the average value is displayed instead. The values are displayed for each field where meaningful. + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + if total is not None: + self.total = total + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ResourcePerformanceByArrayGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ResourcePerformanceByArrayGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ResourcePerformanceByArrayGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ResourcePerformanceByArrayGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(ResourcePerformanceByArrayGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, ResourcePerformanceByArrayGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/resource_performance_get_response.py b/pypureclient/flasharray/FA_2_26/models/resource_performance_get_response.py new file mode 100644 index 000000000..231f6cad7 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/resource_performance_get_response.py @@ -0,0 +1,153 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class ResourcePerformanceGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[ResourcePerformance]', + 'total': 'list[ResourcePerformance]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items', + 'total': 'total' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.ResourcePerformance] + total=None, # type: List[models.ResourcePerformance] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[ResourcePerformance]): Performance data. If `total_only=true`, the `items` list will be empty. + total (list[ResourcePerformance]): The aggregate value of all items after filtering. Where it makes more sense, the average value is displayed instead. The values are displayed for each field where meaningful. + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + if total is not None: + self.total = total + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ResourcePerformanceGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ResourcePerformanceGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ResourcePerformanceGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ResourcePerformanceGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(ResourcePerformanceGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, ResourcePerformanceGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/resource_performance_no_id.py b/pypureclient/flasharray/FA_2_26/models/resource_performance_no_id.py new file mode 100644 index 000000000..57c2c72b9 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/resource_performance_no_id.py @@ -0,0 +1,371 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class ResourcePerformanceNoId(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'bytes_per_mirrored_write': 'int', + 'bytes_per_op': 'int', + 'bytes_per_read': 'int', + 'bytes_per_write': 'int', + 'mirrored_write_bytes_per_sec': 'int', + 'mirrored_writes_per_sec': 'int', + 'qos_rate_limit_usec_per_mirrored_write_op': 'int', + 'qos_rate_limit_usec_per_read_op': 'int', + 'qos_rate_limit_usec_per_write_op': 'int', + 'queue_usec_per_mirrored_write_op': 'int', + 'queue_usec_per_read_op': 'int', + 'queue_usec_per_write_op': 'int', + 'read_bytes_per_sec': 'int', + 'reads_per_sec': 'int', + 'san_usec_per_mirrored_write_op': 'int', + 'san_usec_per_read_op': 'int', + 'san_usec_per_write_op': 'int', + 'service_usec_per_mirrored_write_op': 'int', + 'service_usec_per_read_op': 'int', + 'service_usec_per_write_op': 'int', + 'time': 'int', + 'usec_per_mirrored_write_op': 'int', + 'usec_per_read_op': 'int', + 'usec_per_write_op': 'int', + 'write_bytes_per_sec': 'int', + 'writes_per_sec': 'int', + 'service_usec_per_read_op_cache_reduction': 'float', + 'name': 'str' + } + + attribute_map = { + 'bytes_per_mirrored_write': 'bytes_per_mirrored_write', + 'bytes_per_op': 'bytes_per_op', + 'bytes_per_read': 'bytes_per_read', + 'bytes_per_write': 'bytes_per_write', + 'mirrored_write_bytes_per_sec': 'mirrored_write_bytes_per_sec', + 'mirrored_writes_per_sec': 'mirrored_writes_per_sec', + 'qos_rate_limit_usec_per_mirrored_write_op': 'qos_rate_limit_usec_per_mirrored_write_op', + 'qos_rate_limit_usec_per_read_op': 'qos_rate_limit_usec_per_read_op', + 'qos_rate_limit_usec_per_write_op': 'qos_rate_limit_usec_per_write_op', + 'queue_usec_per_mirrored_write_op': 'queue_usec_per_mirrored_write_op', + 'queue_usec_per_read_op': 'queue_usec_per_read_op', + 'queue_usec_per_write_op': 'queue_usec_per_write_op', + 'read_bytes_per_sec': 'read_bytes_per_sec', + 'reads_per_sec': 'reads_per_sec', + 'san_usec_per_mirrored_write_op': 'san_usec_per_mirrored_write_op', + 'san_usec_per_read_op': 'san_usec_per_read_op', + 'san_usec_per_write_op': 'san_usec_per_write_op', + 'service_usec_per_mirrored_write_op': 'service_usec_per_mirrored_write_op', + 'service_usec_per_read_op': 'service_usec_per_read_op', + 'service_usec_per_write_op': 'service_usec_per_write_op', + 'time': 'time', + 'usec_per_mirrored_write_op': 'usec_per_mirrored_write_op', + 'usec_per_read_op': 'usec_per_read_op', + 'usec_per_write_op': 'usec_per_write_op', + 'write_bytes_per_sec': 'write_bytes_per_sec', + 'writes_per_sec': 'writes_per_sec', + 'service_usec_per_read_op_cache_reduction': 'service_usec_per_read_op_cache_reduction', + 'name': 'name' + } + + required_args = { + } + + def __init__( + self, + bytes_per_mirrored_write=None, # type: int + bytes_per_op=None, # type: int + bytes_per_read=None, # type: int + bytes_per_write=None, # type: int + mirrored_write_bytes_per_sec=None, # type: int + mirrored_writes_per_sec=None, # type: int + qos_rate_limit_usec_per_mirrored_write_op=None, # type: int + qos_rate_limit_usec_per_read_op=None, # type: int + qos_rate_limit_usec_per_write_op=None, # type: int + queue_usec_per_mirrored_write_op=None, # type: int + queue_usec_per_read_op=None, # type: int + queue_usec_per_write_op=None, # type: int + read_bytes_per_sec=None, # type: int + reads_per_sec=None, # type: int + san_usec_per_mirrored_write_op=None, # type: int + san_usec_per_read_op=None, # type: int + san_usec_per_write_op=None, # type: int + service_usec_per_mirrored_write_op=None, # type: int + service_usec_per_read_op=None, # type: int + service_usec_per_write_op=None, # type: int + time=None, # type: int + usec_per_mirrored_write_op=None, # type: int + usec_per_read_op=None, # type: int + usec_per_write_op=None, # type: int + write_bytes_per_sec=None, # type: int + writes_per_sec=None, # type: int + service_usec_per_read_op_cache_reduction=None, # type: float + name=None, # type: str + ): + """ + Keyword args: + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. + bytes_per_op (int): The average I/O size for both read and write (all) operations. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. + mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. + mirrored_writes_per_sec (int): The number of mirrored writes per second. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. + read_bytes_per_sec (int): The number of bytes read per second. + reads_per_sec (int): The number of read requests processed per second. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + write_bytes_per_sec (int): The number of bytes written per second. + writes_per_sec (int): The number of write requests processed per second. + service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. + name (str): A user-specified name. The name must be locally unique and can be changed. + """ + if bytes_per_mirrored_write is not None: + self.bytes_per_mirrored_write = bytes_per_mirrored_write + if bytes_per_op is not None: + self.bytes_per_op = bytes_per_op + if bytes_per_read is not None: + self.bytes_per_read = bytes_per_read + if bytes_per_write is not None: + self.bytes_per_write = bytes_per_write + if mirrored_write_bytes_per_sec is not None: + self.mirrored_write_bytes_per_sec = mirrored_write_bytes_per_sec + if mirrored_writes_per_sec is not None: + self.mirrored_writes_per_sec = mirrored_writes_per_sec + if qos_rate_limit_usec_per_mirrored_write_op is not None: + self.qos_rate_limit_usec_per_mirrored_write_op = qos_rate_limit_usec_per_mirrored_write_op + if qos_rate_limit_usec_per_read_op is not None: + self.qos_rate_limit_usec_per_read_op = qos_rate_limit_usec_per_read_op + if qos_rate_limit_usec_per_write_op is not None: + self.qos_rate_limit_usec_per_write_op = qos_rate_limit_usec_per_write_op + if queue_usec_per_mirrored_write_op is not None: + self.queue_usec_per_mirrored_write_op = queue_usec_per_mirrored_write_op + if queue_usec_per_read_op is not None: + self.queue_usec_per_read_op = queue_usec_per_read_op + if queue_usec_per_write_op is not None: + self.queue_usec_per_write_op = queue_usec_per_write_op + if read_bytes_per_sec is not None: + self.read_bytes_per_sec = read_bytes_per_sec + if reads_per_sec is not None: + self.reads_per_sec = reads_per_sec + if san_usec_per_mirrored_write_op is not None: + self.san_usec_per_mirrored_write_op = san_usec_per_mirrored_write_op + if san_usec_per_read_op is not None: + self.san_usec_per_read_op = san_usec_per_read_op + if san_usec_per_write_op is not None: + self.san_usec_per_write_op = san_usec_per_write_op + if service_usec_per_mirrored_write_op is not None: + self.service_usec_per_mirrored_write_op = service_usec_per_mirrored_write_op + if service_usec_per_read_op is not None: + self.service_usec_per_read_op = service_usec_per_read_op + if service_usec_per_write_op is not None: + self.service_usec_per_write_op = service_usec_per_write_op + if time is not None: + self.time = time + if usec_per_mirrored_write_op is not None: + self.usec_per_mirrored_write_op = usec_per_mirrored_write_op + if usec_per_read_op is not None: + self.usec_per_read_op = usec_per_read_op + if usec_per_write_op is not None: + self.usec_per_write_op = usec_per_write_op + if write_bytes_per_sec is not None: + self.write_bytes_per_sec = write_bytes_per_sec + if writes_per_sec is not None: + self.writes_per_sec = writes_per_sec + if service_usec_per_read_op_cache_reduction is not None: + self.service_usec_per_read_op_cache_reduction = service_usec_per_read_op_cache_reduction + if name is not None: + self.name = name + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ResourcePerformanceNoId`".format(key)) + if key == "bytes_per_mirrored_write" and value is not None: + if value < 0: + raise ValueError("Invalid value for `bytes_per_mirrored_write`, must be a value greater than or equal to `0`") + if key == "bytes_per_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `bytes_per_op`, must be a value greater than or equal to `0`") + if key == "bytes_per_read" and value is not None: + if value < 0: + raise ValueError("Invalid value for `bytes_per_read`, must be a value greater than or equal to `0`") + if key == "bytes_per_write" and value is not None: + if value < 0: + raise ValueError("Invalid value for `bytes_per_write`, must be a value greater than or equal to `0`") + if key == "mirrored_write_bytes_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `mirrored_write_bytes_per_sec`, must be a value greater than or equal to `0`") + if key == "mirrored_writes_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `mirrored_writes_per_sec`, must be a value greater than or equal to `0`") + if key == "qos_rate_limit_usec_per_mirrored_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `qos_rate_limit_usec_per_mirrored_write_op`, must be a value greater than or equal to `0`") + if key == "qos_rate_limit_usec_per_read_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `qos_rate_limit_usec_per_read_op`, must be a value greater than or equal to `0`") + if key == "qos_rate_limit_usec_per_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `qos_rate_limit_usec_per_write_op`, must be a value greater than or equal to `0`") + if key == "queue_usec_per_mirrored_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `queue_usec_per_mirrored_write_op`, must be a value greater than or equal to `0`") + if key == "queue_usec_per_read_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `queue_usec_per_read_op`, must be a value greater than or equal to `0`") + if key == "queue_usec_per_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `queue_usec_per_write_op`, must be a value greater than or equal to `0`") + if key == "read_bytes_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `read_bytes_per_sec`, must be a value greater than or equal to `0`") + if key == "reads_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `reads_per_sec`, must be a value greater than or equal to `0`") + if key == "san_usec_per_mirrored_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `san_usec_per_mirrored_write_op`, must be a value greater than or equal to `0`") + if key == "san_usec_per_read_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `san_usec_per_read_op`, must be a value greater than or equal to `0`") + if key == "san_usec_per_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `san_usec_per_write_op`, must be a value greater than or equal to `0`") + if key == "service_usec_per_mirrored_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `service_usec_per_mirrored_write_op`, must be a value greater than or equal to `0`") + if key == "service_usec_per_read_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `service_usec_per_read_op`, must be a value greater than or equal to `0`") + if key == "service_usec_per_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `service_usec_per_write_op`, must be a value greater than or equal to `0`") + if key == "usec_per_mirrored_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `usec_per_mirrored_write_op`, must be a value greater than or equal to `0`") + if key == "usec_per_read_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `usec_per_read_op`, must be a value greater than or equal to `0`") + if key == "usec_per_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `usec_per_write_op`, must be a value greater than or equal to `0`") + if key == "write_bytes_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `write_bytes_per_sec`, must be a value greater than or equal to `0`") + if key == "writes_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `writes_per_sec`, must be a value greater than or equal to `0`") + if key == "service_usec_per_read_op_cache_reduction" and value is not None: + if value > 1.0: + raise ValueError("Invalid value for `service_usec_per_read_op_cache_reduction`, value must be less than or equal to `1.0`") + if value < 0.0: + raise ValueError("Invalid value for `service_usec_per_read_op_cache_reduction`, must be a value greater than or equal to `0.0`") + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ResourcePerformanceNoId`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ResourcePerformanceNoId`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ResourcePerformanceNoId`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(ResourcePerformanceNoId, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, ResourcePerformanceNoId): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/resource_performance_no_id_by_array.py b/pypureclient/flasharray/FA_2_26/models/resource_performance_no_id_by_array.py new file mode 100644 index 000000000..c4e87f082 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/resource_performance_no_id_by_array.py @@ -0,0 +1,377 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class ResourcePerformanceNoIdByArray(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'bytes_per_mirrored_write': 'int', + 'bytes_per_op': 'int', + 'bytes_per_read': 'int', + 'bytes_per_write': 'int', + 'mirrored_write_bytes_per_sec': 'int', + 'mirrored_writes_per_sec': 'int', + 'qos_rate_limit_usec_per_mirrored_write_op': 'int', + 'qos_rate_limit_usec_per_read_op': 'int', + 'qos_rate_limit_usec_per_write_op': 'int', + 'queue_usec_per_mirrored_write_op': 'int', + 'queue_usec_per_read_op': 'int', + 'queue_usec_per_write_op': 'int', + 'read_bytes_per_sec': 'int', + 'reads_per_sec': 'int', + 'san_usec_per_mirrored_write_op': 'int', + 'san_usec_per_read_op': 'int', + 'san_usec_per_write_op': 'int', + 'service_usec_per_mirrored_write_op': 'int', + 'service_usec_per_read_op': 'int', + 'service_usec_per_write_op': 'int', + 'time': 'int', + 'usec_per_mirrored_write_op': 'int', + 'usec_per_read_op': 'int', + 'usec_per_write_op': 'int', + 'write_bytes_per_sec': 'int', + 'writes_per_sec': 'int', + 'service_usec_per_read_op_cache_reduction': 'float', + 'name': 'str', + 'array': 'Resource' + } + + attribute_map = { + 'bytes_per_mirrored_write': 'bytes_per_mirrored_write', + 'bytes_per_op': 'bytes_per_op', + 'bytes_per_read': 'bytes_per_read', + 'bytes_per_write': 'bytes_per_write', + 'mirrored_write_bytes_per_sec': 'mirrored_write_bytes_per_sec', + 'mirrored_writes_per_sec': 'mirrored_writes_per_sec', + 'qos_rate_limit_usec_per_mirrored_write_op': 'qos_rate_limit_usec_per_mirrored_write_op', + 'qos_rate_limit_usec_per_read_op': 'qos_rate_limit_usec_per_read_op', + 'qos_rate_limit_usec_per_write_op': 'qos_rate_limit_usec_per_write_op', + 'queue_usec_per_mirrored_write_op': 'queue_usec_per_mirrored_write_op', + 'queue_usec_per_read_op': 'queue_usec_per_read_op', + 'queue_usec_per_write_op': 'queue_usec_per_write_op', + 'read_bytes_per_sec': 'read_bytes_per_sec', + 'reads_per_sec': 'reads_per_sec', + 'san_usec_per_mirrored_write_op': 'san_usec_per_mirrored_write_op', + 'san_usec_per_read_op': 'san_usec_per_read_op', + 'san_usec_per_write_op': 'san_usec_per_write_op', + 'service_usec_per_mirrored_write_op': 'service_usec_per_mirrored_write_op', + 'service_usec_per_read_op': 'service_usec_per_read_op', + 'service_usec_per_write_op': 'service_usec_per_write_op', + 'time': 'time', + 'usec_per_mirrored_write_op': 'usec_per_mirrored_write_op', + 'usec_per_read_op': 'usec_per_read_op', + 'usec_per_write_op': 'usec_per_write_op', + 'write_bytes_per_sec': 'write_bytes_per_sec', + 'writes_per_sec': 'writes_per_sec', + 'service_usec_per_read_op_cache_reduction': 'service_usec_per_read_op_cache_reduction', + 'name': 'name', + 'array': 'array' + } + + required_args = { + } + + def __init__( + self, + bytes_per_mirrored_write=None, # type: int + bytes_per_op=None, # type: int + bytes_per_read=None, # type: int + bytes_per_write=None, # type: int + mirrored_write_bytes_per_sec=None, # type: int + mirrored_writes_per_sec=None, # type: int + qos_rate_limit_usec_per_mirrored_write_op=None, # type: int + qos_rate_limit_usec_per_read_op=None, # type: int + qos_rate_limit_usec_per_write_op=None, # type: int + queue_usec_per_mirrored_write_op=None, # type: int + queue_usec_per_read_op=None, # type: int + queue_usec_per_write_op=None, # type: int + read_bytes_per_sec=None, # type: int + reads_per_sec=None, # type: int + san_usec_per_mirrored_write_op=None, # type: int + san_usec_per_read_op=None, # type: int + san_usec_per_write_op=None, # type: int + service_usec_per_mirrored_write_op=None, # type: int + service_usec_per_read_op=None, # type: int + service_usec_per_write_op=None, # type: int + time=None, # type: int + usec_per_mirrored_write_op=None, # type: int + usec_per_read_op=None, # type: int + usec_per_write_op=None, # type: int + write_bytes_per_sec=None, # type: int + writes_per_sec=None, # type: int + service_usec_per_read_op_cache_reduction=None, # type: float + name=None, # type: str + array=None, # type: models.Resource + ): + """ + Keyword args: + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. + bytes_per_op (int): The average I/O size for both read and write (all) operations. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. + mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. + mirrored_writes_per_sec (int): The number of mirrored writes per second. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. + read_bytes_per_sec (int): The number of bytes read per second. + reads_per_sec (int): The number of read requests processed per second. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + write_bytes_per_sec (int): The number of bytes written per second. + writes_per_sec (int): The number of write requests processed per second. + service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. + name (str): A user-specified name. The name must be locally unique and can be changed. + array (Resource): The array on which the performance metrics were recorded. + """ + if bytes_per_mirrored_write is not None: + self.bytes_per_mirrored_write = bytes_per_mirrored_write + if bytes_per_op is not None: + self.bytes_per_op = bytes_per_op + if bytes_per_read is not None: + self.bytes_per_read = bytes_per_read + if bytes_per_write is not None: + self.bytes_per_write = bytes_per_write + if mirrored_write_bytes_per_sec is not None: + self.mirrored_write_bytes_per_sec = mirrored_write_bytes_per_sec + if mirrored_writes_per_sec is not None: + self.mirrored_writes_per_sec = mirrored_writes_per_sec + if qos_rate_limit_usec_per_mirrored_write_op is not None: + self.qos_rate_limit_usec_per_mirrored_write_op = qos_rate_limit_usec_per_mirrored_write_op + if qos_rate_limit_usec_per_read_op is not None: + self.qos_rate_limit_usec_per_read_op = qos_rate_limit_usec_per_read_op + if qos_rate_limit_usec_per_write_op is not None: + self.qos_rate_limit_usec_per_write_op = qos_rate_limit_usec_per_write_op + if queue_usec_per_mirrored_write_op is not None: + self.queue_usec_per_mirrored_write_op = queue_usec_per_mirrored_write_op + if queue_usec_per_read_op is not None: + self.queue_usec_per_read_op = queue_usec_per_read_op + if queue_usec_per_write_op is not None: + self.queue_usec_per_write_op = queue_usec_per_write_op + if read_bytes_per_sec is not None: + self.read_bytes_per_sec = read_bytes_per_sec + if reads_per_sec is not None: + self.reads_per_sec = reads_per_sec + if san_usec_per_mirrored_write_op is not None: + self.san_usec_per_mirrored_write_op = san_usec_per_mirrored_write_op + if san_usec_per_read_op is not None: + self.san_usec_per_read_op = san_usec_per_read_op + if san_usec_per_write_op is not None: + self.san_usec_per_write_op = san_usec_per_write_op + if service_usec_per_mirrored_write_op is not None: + self.service_usec_per_mirrored_write_op = service_usec_per_mirrored_write_op + if service_usec_per_read_op is not None: + self.service_usec_per_read_op = service_usec_per_read_op + if service_usec_per_write_op is not None: + self.service_usec_per_write_op = service_usec_per_write_op + if time is not None: + self.time = time + if usec_per_mirrored_write_op is not None: + self.usec_per_mirrored_write_op = usec_per_mirrored_write_op + if usec_per_read_op is not None: + self.usec_per_read_op = usec_per_read_op + if usec_per_write_op is not None: + self.usec_per_write_op = usec_per_write_op + if write_bytes_per_sec is not None: + self.write_bytes_per_sec = write_bytes_per_sec + if writes_per_sec is not None: + self.writes_per_sec = writes_per_sec + if service_usec_per_read_op_cache_reduction is not None: + self.service_usec_per_read_op_cache_reduction = service_usec_per_read_op_cache_reduction + if name is not None: + self.name = name + if array is not None: + self.array = array + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ResourcePerformanceNoIdByArray`".format(key)) + if key == "bytes_per_mirrored_write" and value is not None: + if value < 0: + raise ValueError("Invalid value for `bytes_per_mirrored_write`, must be a value greater than or equal to `0`") + if key == "bytes_per_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `bytes_per_op`, must be a value greater than or equal to `0`") + if key == "bytes_per_read" and value is not None: + if value < 0: + raise ValueError("Invalid value for `bytes_per_read`, must be a value greater than or equal to `0`") + if key == "bytes_per_write" and value is not None: + if value < 0: + raise ValueError("Invalid value for `bytes_per_write`, must be a value greater than or equal to `0`") + if key == "mirrored_write_bytes_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `mirrored_write_bytes_per_sec`, must be a value greater than or equal to `0`") + if key == "mirrored_writes_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `mirrored_writes_per_sec`, must be a value greater than or equal to `0`") + if key == "qos_rate_limit_usec_per_mirrored_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `qos_rate_limit_usec_per_mirrored_write_op`, must be a value greater than or equal to `0`") + if key == "qos_rate_limit_usec_per_read_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `qos_rate_limit_usec_per_read_op`, must be a value greater than or equal to `0`") + if key == "qos_rate_limit_usec_per_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `qos_rate_limit_usec_per_write_op`, must be a value greater than or equal to `0`") + if key == "queue_usec_per_mirrored_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `queue_usec_per_mirrored_write_op`, must be a value greater than or equal to `0`") + if key == "queue_usec_per_read_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `queue_usec_per_read_op`, must be a value greater than or equal to `0`") + if key == "queue_usec_per_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `queue_usec_per_write_op`, must be a value greater than or equal to `0`") + if key == "read_bytes_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `read_bytes_per_sec`, must be a value greater than or equal to `0`") + if key == "reads_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `reads_per_sec`, must be a value greater than or equal to `0`") + if key == "san_usec_per_mirrored_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `san_usec_per_mirrored_write_op`, must be a value greater than or equal to `0`") + if key == "san_usec_per_read_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `san_usec_per_read_op`, must be a value greater than or equal to `0`") + if key == "san_usec_per_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `san_usec_per_write_op`, must be a value greater than or equal to `0`") + if key == "service_usec_per_mirrored_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `service_usec_per_mirrored_write_op`, must be a value greater than or equal to `0`") + if key == "service_usec_per_read_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `service_usec_per_read_op`, must be a value greater than or equal to `0`") + if key == "service_usec_per_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `service_usec_per_write_op`, must be a value greater than or equal to `0`") + if key == "usec_per_mirrored_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `usec_per_mirrored_write_op`, must be a value greater than or equal to `0`") + if key == "usec_per_read_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `usec_per_read_op`, must be a value greater than or equal to `0`") + if key == "usec_per_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `usec_per_write_op`, must be a value greater than or equal to `0`") + if key == "write_bytes_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `write_bytes_per_sec`, must be a value greater than or equal to `0`") + if key == "writes_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `writes_per_sec`, must be a value greater than or equal to `0`") + if key == "service_usec_per_read_op_cache_reduction" and value is not None: + if value > 1.0: + raise ValueError("Invalid value for `service_usec_per_read_op_cache_reduction`, value must be less than or equal to `1.0`") + if value < 0.0: + raise ValueError("Invalid value for `service_usec_per_read_op_cache_reduction`, must be a value greater than or equal to `0.0`") + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ResourcePerformanceNoIdByArray`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ResourcePerformanceNoIdByArray`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ResourcePerformanceNoIdByArray`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(ResourcePerformanceNoIdByArray, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, ResourcePerformanceNoIdByArray): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/resource_performance_no_id_by_array_get_response.py b/pypureclient/flasharray/FA_2_26/models/resource_performance_no_id_by_array_get_response.py new file mode 100644 index 000000000..685484000 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/resource_performance_no_id_by_array_get_response.py @@ -0,0 +1,153 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class ResourcePerformanceNoIdByArrayGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[ResourcePerformanceNoIdByArray]', + 'total': 'list[ResourcePerformanceNoIdByArray]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items', + 'total': 'total' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.ResourcePerformanceNoIdByArray] + total=None, # type: List[models.ResourcePerformanceNoIdByArray] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[ResourcePerformanceNoIdByArray]): Performance data, broken down by array. If `total_only=true`, the `items` list will be empty. + total (list[ResourcePerformanceNoIdByArray]): The aggregate value of all items after filtering. Where it makes more sense, the average value is displayed instead. The values are displayed for each field where meaningful. + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + if total is not None: + self.total = total + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ResourcePerformanceNoIdByArrayGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ResourcePerformanceNoIdByArrayGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ResourcePerformanceNoIdByArrayGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ResourcePerformanceNoIdByArrayGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(ResourcePerformanceNoIdByArrayGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, ResourcePerformanceNoIdByArrayGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/resource_performance_no_id_get_response.py b/pypureclient/flasharray/FA_2_26/models/resource_performance_no_id_get_response.py new file mode 100644 index 000000000..438b382fc --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/resource_performance_no_id_get_response.py @@ -0,0 +1,153 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class ResourcePerformanceNoIdGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[ResourcePerformanceNoId]', + 'total': 'list[ResourcePerformanceNoId]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items', + 'total': 'total' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.ResourcePerformanceNoId] + total=None, # type: List[models.ResourcePerformanceNoId] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[ResourcePerformanceNoId]): Performance data. If `total_only=true`, the `items` list will be empty. + total (list[ResourcePerformanceNoId]): The aggregate value of all items after filtering. Where it makes more sense, the average value is displayed instead. The values are displayed for each field where meaningful. + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + if total is not None: + self.total = total + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ResourcePerformanceNoIdGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ResourcePerformanceNoIdGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ResourcePerformanceNoIdGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ResourcePerformanceNoIdGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(ResourcePerformanceNoIdGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, ResourcePerformanceNoIdGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/resource_pod_space.py b/pypureclient/flasharray/FA_2_26/models/resource_pod_space.py new file mode 100644 index 000000000..8c855259b --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/resource_pod_space.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class ResourcePodSpace(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'id': 'str', + 'name': 'str', + 'space': 'PodSpace', + 'time': 'int' + } + + attribute_map = { + 'id': 'id', + 'name': 'name', + 'space': 'space', + 'time': 'time' + } + + required_args = { + } + + def __init__( + self, + id=None, # type: str + name=None, # type: str + space=None, # type: models.PodSpace + time=None, # type: int + ): + """ + Keyword args: + id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. + name (str): A locally unique, system-generated name. The name cannot be modified. + space (PodSpace): Displays size and space consumption information. + time (int): The timestamp of when the data was taken, measured in milliseconds since the UNIX epoch. + """ + if id is not None: + self.id = id + if name is not None: + self.name = name + if space is not None: + self.space = space + if time is not None: + self.time = time + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ResourcePodSpace`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ResourcePodSpace`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ResourcePodSpace`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ResourcePodSpace`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(ResourcePodSpace, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, ResourcePodSpace): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/resource_pod_space_get_response.py b/pypureclient/flasharray/FA_2_26/models/resource_pod_space_get_response.py new file mode 100644 index 000000000..e68e48207 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/resource_pod_space_get_response.py @@ -0,0 +1,153 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class ResourcePodSpaceGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[ResourcePodSpace]', + 'total': 'list[ResourcePodSpace]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items', + 'total': 'total' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.ResourcePodSpace] + total=None, # type: List[models.ResourcePodSpace] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[ResourcePodSpace]): Displays a list of all items after filtering. If applicable, the values are displayed for each name. If `total_only=true`, the `items` list will be empty. + total (list[ResourcePodSpace]): The aggregate value of all items after filtering. When applicable, the average value is displayed instead. The values are displayed for each field, if meaningful. + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + if total is not None: + self.total = total + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ResourcePodSpaceGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ResourcePodSpaceGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ResourcePodSpaceGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ResourcePodSpaceGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(ResourcePodSpaceGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, ResourcePodSpaceGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/resource_space.py b/pypureclient/flasharray/FA_2_26/models/resource_space.py new file mode 100644 index 000000000..ea0082931 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/resource_space.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class ResourceSpace(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'id': 'str', + 'name': 'str', + 'space': 'Space', + 'time': 'int' + } + + attribute_map = { + 'id': 'id', + 'name': 'name', + 'space': 'space', + 'time': 'time' + } + + required_args = { + } + + def __init__( + self, + id=None, # type: str + name=None, # type: str + space=None, # type: models.Space + time=None, # type: int + ): + """ + Keyword args: + id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. + name (str): A locally unique, system-generated name. The name cannot be modified. + space (Space): Displays size and space consumption information. + time (int): The timestamp of when the data was taken, measured in milliseconds since the UNIX epoch. + """ + if id is not None: + self.id = id + if name is not None: + self.name = name + if space is not None: + self.space = space + if time is not None: + self.time = time + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ResourceSpace`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ResourceSpace`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ResourceSpace`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ResourceSpace`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(ResourceSpace, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, ResourceSpace): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/resource_space_get_response.py b/pypureclient/flasharray/FA_2_26/models/resource_space_get_response.py new file mode 100644 index 000000000..53d702023 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/resource_space_get_response.py @@ -0,0 +1,153 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class ResourceSpaceGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[ResourceSpace]', + 'total': 'list[ResourceSpace]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items', + 'total': 'total' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.ResourceSpace] + total=None, # type: List[models.ResourceSpace] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[ResourceSpace]): Returns a list of all items after filtering. If applicable, the values are displayed for each name. If `total_only=true`, the `items` list will be empty. + total (list[ResourceSpace]): The aggregate value of all items after filtering. Where it makes more sense, the average value is displayed instead. If applicable, the values are displayed for each field. + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + if total is not None: + self.total = total + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ResourceSpaceGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ResourceSpaceGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ResourceSpaceGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ResourceSpaceGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(ResourceSpaceGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, ResourceSpaceGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/resource_space_no_id.py b/pypureclient/flasharray/FA_2_26/models/resource_space_no_id.py new file mode 100644 index 000000000..6f8419679 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/resource_space_no_id.py @@ -0,0 +1,141 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class ResourceSpaceNoId(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'name': 'str', + 'space': 'Space', + 'time': 'int' + } + + attribute_map = { + 'name': 'name', + 'space': 'space', + 'time': 'time' + } + + required_args = { + } + + def __init__( + self, + name=None, # type: str + space=None, # type: models.Space + time=None, # type: int + ): + """ + Keyword args: + name (str): A locally unique, system-generated name. The name cannot be modified. + space (Space): Displays size and space consumption information. + time (int) + """ + if name is not None: + self.name = name + if space is not None: + self.space = space + if time is not None: + self.time = time + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ResourceSpaceNoId`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ResourceSpaceNoId`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ResourceSpaceNoId`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ResourceSpaceNoId`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(ResourceSpaceNoId, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, ResourceSpaceNoId): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/resource_space_no_id_get_response.py b/pypureclient/flasharray/FA_2_26/models/resource_space_no_id_get_response.py new file mode 100644 index 000000000..0db4ecd22 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/resource_space_no_id_get_response.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class ResourceSpaceNoIdGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[ResourceSpaceNoId]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.ResourceSpaceNoId] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[ResourceSpaceNoId]) + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ResourceSpaceNoIdGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ResourceSpaceNoIdGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ResourceSpaceNoIdGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `ResourceSpaceNoIdGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(ResourceSpaceNoIdGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, ResourceSpaceNoIdGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/retention_policy.py b/pypureclient/flasharray/FA_2_26/models/retention_policy.py new file mode 100644 index 000000000..727d3c2c0 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/retention_policy.py @@ -0,0 +1,141 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class RetentionPolicy(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'all_for_sec': 'int', + 'days': 'int', + 'per_day': 'int' + } + + attribute_map = { + 'all_for_sec': 'all_for_sec', + 'days': 'days', + 'per_day': 'per_day' + } + + required_args = { + } + + def __init__( + self, + all_for_sec=None, # type: int + days=None, # type: int + per_day=None, # type: int + ): + """ + Keyword args: + all_for_sec (int): The length of time to keep the specified snapshots. Measured in seconds. + days (int): The number of days to keep the snapshots after the `all_for_sec` period has passed. + per_day (int): The number of snapshots to keep per day after the `all_for_sec` period has passed. + """ + if all_for_sec is not None: + self.all_for_sec = all_for_sec + if days is not None: + self.days = days + if per_day is not None: + self.per_day = per_day + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `RetentionPolicy`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `RetentionPolicy`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `RetentionPolicy`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `RetentionPolicy`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(RetentionPolicy, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, RetentionPolicy): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/saml2_sso.py b/pypureclient/flasharray/FA_2_26/models/saml2_sso.py new file mode 100644 index 000000000..5caa8be5a --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/saml2_sso.py @@ -0,0 +1,159 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class Saml2Sso(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'id': 'str', + 'name': 'str', + 'enabled': 'bool', + 'array_url': 'str', + 'sp': 'Saml2SsoSp', + 'idp': 'Saml2SsoIdp' + } + + attribute_map = { + 'id': 'id', + 'name': 'name', + 'enabled': 'enabled', + 'array_url': 'array_url', + 'sp': 'sp', + 'idp': 'idp' + } + + required_args = { + } + + def __init__( + self, + id=None, # type: str + name=None, # type: str + enabled=None, # type: bool + array_url=None, # type: str + sp=None, # type: models.Saml2SsoSp + idp=None, # type: models.Saml2SsoIdp + ): + """ + Keyword args: + id (str): A globally unique, system-generated ID. The ID cannot be modified. + name (str): Name of the resource. The name cannot be modified. + enabled (bool): If set to `true`, the SAML2 SSO configuration is enabled. + array_url (str): The URL of the array. + sp (Saml2SsoSp) + idp (Saml2SsoIdp) + """ + if id is not None: + self.id = id + if name is not None: + self.name = name + if enabled is not None: + self.enabled = enabled + if array_url is not None: + self.array_url = array_url + if sp is not None: + self.sp = sp + if idp is not None: + self.idp = idp + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Saml2Sso`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Saml2Sso`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Saml2Sso`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Saml2Sso`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(Saml2Sso, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, Saml2Sso): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/saml2_sso_get_response.py b/pypureclient/flasharray/FA_2_26/models/saml2_sso_get_response.py new file mode 100644 index 000000000..5cf844ea1 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/saml2_sso_get_response.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class Saml2SsoGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[Saml2Sso]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.Saml2Sso] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[Saml2Sso]) + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Saml2SsoGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Saml2SsoGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Saml2SsoGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Saml2SsoGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(Saml2SsoGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, Saml2SsoGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/saml2_sso_idp.py b/pypureclient/flasharray/FA_2_26/models/saml2_sso_idp.py new file mode 100644 index 000000000..0488f28db --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/saml2_sso_idp.py @@ -0,0 +1,159 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class Saml2SsoIdp(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'entity_id': 'str', + 'url': 'str', + 'metadata_url': 'str', + 'sign_request_enabled': 'bool', + 'encrypt_assertion_enabled': 'bool', + 'verification_certificate': 'str' + } + + attribute_map = { + 'entity_id': 'entity_id', + 'url': 'url', + 'metadata_url': 'metadata_url', + 'sign_request_enabled': 'sign_request_enabled', + 'encrypt_assertion_enabled': 'encrypt_assertion_enabled', + 'verification_certificate': 'verification_certificate' + } + + required_args = { + } + + def __init__( + self, + entity_id=None, # type: str + url=None, # type: str + metadata_url=None, # type: str + sign_request_enabled=None, # type: bool + encrypt_assertion_enabled=None, # type: bool + verification_certificate=None, # type: str + ): + """ + Keyword args: + entity_id (str): A globally unique name for the identity provider. + url (str): The URL of the identity provider. + metadata_url (str): The URL of the identity provider metadata. + sign_request_enabled (bool): If set to `true`, SAML requests will be signed by the service provider. + encrypt_assertion_enabled (bool): If set to `true`, SAML assertions will be encrypted by the identity provider. + verification_certificate (str): The X509 certificate that the service provider uses to verify the SAML response signature from the identity provider. + """ + if entity_id is not None: + self.entity_id = entity_id + if url is not None: + self.url = url + if metadata_url is not None: + self.metadata_url = metadata_url + if sign_request_enabled is not None: + self.sign_request_enabled = sign_request_enabled + if encrypt_assertion_enabled is not None: + self.encrypt_assertion_enabled = encrypt_assertion_enabled + if verification_certificate is not None: + self.verification_certificate = verification_certificate + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Saml2SsoIdp`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Saml2SsoIdp`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Saml2SsoIdp`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Saml2SsoIdp`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(Saml2SsoIdp, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, Saml2SsoIdp): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/saml2_sso_patch.py b/pypureclient/flasharray/FA_2_26/models/saml2_sso_patch.py new file mode 100644 index 000000000..30393665a --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/saml2_sso_patch.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class Saml2SsoPatch(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'array_url': 'str', + 'idp': 'Saml2SsoIdp', + 'sp': 'Saml2SsoSpCredential', + 'enabled': 'bool' + } + + attribute_map = { + 'array_url': 'array_url', + 'idp': 'idp', + 'sp': 'sp', + 'enabled': 'enabled' + } + + required_args = { + } + + def __init__( + self, + array_url=None, # type: str + idp=None, # type: models.Saml2SsoIdp + sp=None, # type: models.Saml2SsoSpCredential + enabled=None, # type: bool + ): + """ + Keyword args: + array_url (str): The URL of the array. + idp (Saml2SsoIdp) + sp (Saml2SsoSpCredential): Properties specific to the service provider. + enabled (bool): If set to `true`, the SAML2 SSO configuration is enabled. + """ + if array_url is not None: + self.array_url = array_url + if idp is not None: + self.idp = idp + if sp is not None: + self.sp = sp + if enabled is not None: + self.enabled = enabled + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Saml2SsoPatch`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Saml2SsoPatch`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Saml2SsoPatch`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Saml2SsoPatch`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(Saml2SsoPatch, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, Saml2SsoPatch): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/saml2_sso_post.py b/pypureclient/flasharray/FA_2_26/models/saml2_sso_post.py new file mode 100644 index 000000000..de1954cd7 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/saml2_sso_post.py @@ -0,0 +1,141 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class Saml2SsoPost(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'array_url': 'str', + 'idp': 'Saml2SsoIdp', + 'sp': 'Saml2SsoSpCredential' + } + + attribute_map = { + 'array_url': 'array_url', + 'idp': 'idp', + 'sp': 'sp' + } + + required_args = { + } + + def __init__( + self, + array_url=None, # type: str + idp=None, # type: models.Saml2SsoIdp + sp=None, # type: models.Saml2SsoSpCredential + ): + """ + Keyword args: + array_url (str): The URL of the array. + idp (Saml2SsoIdp) + sp (Saml2SsoSpCredential): Properties specific to the service provider. + """ + if array_url is not None: + self.array_url = array_url + if idp is not None: + self.idp = idp + if sp is not None: + self.sp = sp + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Saml2SsoPost`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Saml2SsoPost`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Saml2SsoPost`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Saml2SsoPost`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(Saml2SsoPost, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, Saml2SsoPost): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/saml2_sso_response.py b/pypureclient/flasharray/FA_2_26/models/saml2_sso_response.py new file mode 100644 index 000000000..90d341a03 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/saml2_sso_response.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class Saml2SsoResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'items': 'list[Saml2Sso]' + } + + attribute_map = { + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + items=None, # type: List[models.Saml2Sso] + ): + """ + Keyword args: + items (list[Saml2Sso]) + """ + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Saml2SsoResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Saml2SsoResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Saml2SsoResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Saml2SsoResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(Saml2SsoResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, Saml2SsoResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/saml2_sso_sp.py b/pypureclient/flasharray/FA_2_26/models/saml2_sso_sp.py new file mode 100644 index 000000000..dcd24879c --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/saml2_sso_sp.py @@ -0,0 +1,153 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class Saml2SsoSp(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'decryption_credential': 'ReferenceNoId', + 'signing_credential': 'ReferenceNoId', + 'entity_id': 'str', + 'assertion_consumer_url': 'str', + 'metadata_url': 'str' + } + + attribute_map = { + 'decryption_credential': 'decryption_credential', + 'signing_credential': 'signing_credential', + 'entity_id': 'entity_id', + 'assertion_consumer_url': 'assertion_consumer_url', + 'metadata_url': 'metadata_url' + } + + required_args = { + } + + def __init__( + self, + decryption_credential=None, # type: models.ReferenceNoId + signing_credential=None, # type: models.ReferenceNoId + entity_id=None, # type: str + assertion_consumer_url=None, # type: str + metadata_url=None, # type: str + ): + """ + Keyword args: + decryption_credential (ReferenceNoId): The credential used by the service provider to decrypt encrypted SAML assertions from the identity provider. The credential is managed by the `certificates` endpoint and `purecert` CLI commands. + signing_credential (ReferenceNoId): The credential used by the service provider to sign SAML requests. The credential is managed by the `certificates` endpoint and `purecert` CLI commands. + entity_id (str): A globally unique name for the service provider. + assertion_consumer_url (str): The URL where the identity provider will send its SAML response after authenticating a user. + metadata_url (str): The URL of the service provider metadata. + """ + if decryption_credential is not None: + self.decryption_credential = decryption_credential + if signing_credential is not None: + self.signing_credential = signing_credential + if entity_id is not None: + self.entity_id = entity_id + if assertion_consumer_url is not None: + self.assertion_consumer_url = assertion_consumer_url + if metadata_url is not None: + self.metadata_url = metadata_url + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Saml2SsoSp`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Saml2SsoSp`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Saml2SsoSp`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Saml2SsoSp`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(Saml2SsoSp, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, Saml2SsoSp): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/saml2_sso_sp_credential.py b/pypureclient/flasharray/FA_2_26/models/saml2_sso_sp_credential.py new file mode 100644 index 000000000..dc98c5003 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/saml2_sso_sp_credential.py @@ -0,0 +1,135 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class Saml2SsoSpCredential(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'decryption_credential': 'ReferenceNoId', + 'signing_credential': 'ReferenceNoId' + } + + attribute_map = { + 'decryption_credential': 'decryption_credential', + 'signing_credential': 'signing_credential' + } + + required_args = { + } + + def __init__( + self, + decryption_credential=None, # type: models.ReferenceNoId + signing_credential=None, # type: models.ReferenceNoId + ): + """ + Keyword args: + decryption_credential (ReferenceNoId): The credential used by the service provider to decrypt encrypted SAML assertions from the identity provider. The credential is managed by the `certificates` endpoint and `purecert` CLI commands. + signing_credential (ReferenceNoId): The credential used by the service provider to sign SAML requests. The credential is managed by the `certificates` endpoint and `purecert` CLI commands. + """ + if decryption_credential is not None: + self.decryption_credential = decryption_credential + if signing_credential is not None: + self.signing_credential = signing_credential + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Saml2SsoSpCredential`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Saml2SsoSpCredential`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Saml2SsoSpCredential`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Saml2SsoSpCredential`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(Saml2SsoSpCredential, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, Saml2SsoSpCredential): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/session.py b/pypureclient/flasharray/FA_2_26/models/session.py new file mode 100644 index 000000000..a8e404b87 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/session.py @@ -0,0 +1,183 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class Session(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'id': 'str', + 'name': 'str', + 'end_time': 'int', + 'event': 'str', + 'event_count': 'int', + 'location': 'str', + 'method': 'str', + 'start_time': 'int', + 'user': 'str', + 'user_interface': 'str' + } + + attribute_map = { + 'id': 'id', + 'name': 'name', + 'end_time': 'end_time', + 'event': 'event', + 'event_count': 'event_count', + 'location': 'location', + 'method': 'method', + 'start_time': 'start_time', + 'user': 'user', + 'user_interface': 'user_interface' + } + + required_args = { + } + + def __init__( + self, + id=None, # type: str + name=None, # type: str + end_time=None, # type: int + event=None, # type: str + event_count=None, # type: int + location=None, # type: str + method=None, # type: str + start_time=None, # type: int + user=None, # type: str + user_interface=None, # type: str + ): + """ + Keyword args: + id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. + name (str): A locally unique, system-generated name. The name cannot be modified. + end_time (int): Date and time the user logged out of the Purity//FA interface. Not set if the session is still active. + event (str): Description of session events such as login and user session. Valid values include `failed authentication`, `user session`, `login`, `logout`, `API token obtained`, and `request without session`. + event_count (int): Number of session events. + location (str): IP address of the user client connecting to the array or console if connected through local console. + method (str): Method by which the user attempted to log in. Valid values include `API token`, `JWT`, `password`, and `public key`. + start_time (int): Date and time the user logged in to the Purity//FA interface. + user (str): Username of the Purity//FA user who triggered the user session event. + user_interface (str): The user interface through which the user session event was performed. Valid values include `CLI`, `GUI`, and `REST`. + """ + if id is not None: + self.id = id + if name is not None: + self.name = name + if end_time is not None: + self.end_time = end_time + if event is not None: + self.event = event + if event_count is not None: + self.event_count = event_count + if location is not None: + self.location = location + if method is not None: + self.method = method + if start_time is not None: + self.start_time = start_time + if user is not None: + self.user = user + if user_interface is not None: + self.user_interface = user_interface + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Session`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Session`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Session`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Session`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(Session, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, Session): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/session_get_response.py b/pypureclient/flasharray/FA_2_26/models/session_get_response.py new file mode 100644 index 000000000..2dea3b4d6 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/session_get_response.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class SessionGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[Session]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.Session] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[Session]) + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SessionGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SessionGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SessionGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SessionGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(SessionGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, SessionGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/smis.py b/pypureclient/flasharray/FA_2_26/models/smis.py new file mode 100644 index 000000000..b7cb5f6e3 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/smis.py @@ -0,0 +1,135 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class Smis(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'slp_enabled': 'bool', + 'wbem_https_enabled': 'bool' + } + + attribute_map = { + 'slp_enabled': 'slp_enabled', + 'wbem_https_enabled': 'wbem_https_enabled' + } + + required_args = { + } + + def __init__( + self, + slp_enabled=None, # type: bool + wbem_https_enabled=None, # type: bool + ): + """ + Keyword args: + slp_enabled (bool): If set to `true`, the Service Location Protocol (SLP) and its ports, TCP 427 and UDP 427, are enabled. + wbem_https_enabled (bool): If set to `true`, the SMI-S provider and its port, TCP 5989 is enabled. + """ + if slp_enabled is not None: + self.slp_enabled = slp_enabled + if wbem_https_enabled is not None: + self.wbem_https_enabled = wbem_https_enabled + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Smis`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Smis`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Smis`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Smis`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(Smis, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, Smis): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/smis_get_response.py b/pypureclient/flasharray/FA_2_26/models/smis_get_response.py new file mode 100644 index 000000000..07fe43f55 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/smis_get_response.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class SmisGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[Smis]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.Smis] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[Smis]) + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SmisGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SmisGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SmisGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SmisGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(SmisGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, SmisGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/smis_response.py b/pypureclient/flasharray/FA_2_26/models/smis_response.py new file mode 100644 index 000000000..9d8487dc9 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/smis_response.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class SmisResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'items': 'list[Smis]' + } + + attribute_map = { + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + items=None, # type: List[models.Smis] + ): + """ + Keyword args: + items (list[Smis]) + """ + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SmisResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SmisResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SmisResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SmisResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(SmisResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, SmisResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/smtp.py b/pypureclient/flasharray/FA_2_26/models/smtp.py new file mode 100644 index 000000000..4236b4657 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/smtp.py @@ -0,0 +1,153 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class SMTP(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'name': 'str', + 'password': 'str', + 'relay_host': 'str', + 'sender_domain': 'str', + 'user_name': 'str' + } + + attribute_map = { + 'name': 'name', + 'password': 'password', + 'relay_host': 'relay_host', + 'sender_domain': 'sender_domain', + 'user_name': 'user_name' + } + + required_args = { + } + + def __init__( + self, + name=None, # type: str + password=None, # type: str + relay_host=None, # type: str + sender_domain=None, # type: str + user_name=None, # type: str + ): + """ + Keyword args: + name (str): A locally unique, system-generated name. The name cannot be modified. + password (str): Password for the relay host, if needed. + relay_host (str): Relay server used as a forwarding point for email sent from the array. Can be set as a hostname, IPv4 address, or IPv6 address, with optional port numbers. The expected format for IPv4 is `ddd.ddd.ddd.ddd:PORT`. The expected format for IPv6 is `xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx` or, if a port number is specified, `[xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx]:PORT`. + sender_domain (str): Domain name appended to alert email messages. + user_name (str): User name for the relay host, if needed. + """ + if name is not None: + self.name = name + if password is not None: + self.password = password + if relay_host is not None: + self.relay_host = relay_host + if sender_domain is not None: + self.sender_domain = sender_domain + if user_name is not None: + self.user_name = user_name + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SMTP`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SMTP`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SMTP`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SMTP`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(SMTP, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, SMTP): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/smtp_server.py b/pypureclient/flasharray/FA_2_26/models/smtp_server.py new file mode 100644 index 000000000..cff94eeb7 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/smtp_server.py @@ -0,0 +1,153 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class SmtpServer(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'name': 'str', + 'password': 'str', + 'relay_host': 'str', + 'sender_domain': 'str', + 'user_name': 'str' + } + + attribute_map = { + 'name': 'name', + 'password': 'password', + 'relay_host': 'relay_host', + 'sender_domain': 'sender_domain', + 'user_name': 'user_name' + } + + required_args = { + } + + def __init__( + self, + name=None, # type: str + password=None, # type: str + relay_host=None, # type: str + sender_domain=None, # type: str + user_name=None, # type: str + ): + """ + Keyword args: + name (str): A locally unique, system-generated name. The name cannot be modified. + password (str): Password for the relay host, if needed. + relay_host (str): Relay server used as a forwarding point for email sent from the array. Can be set as a hostname, IPv4 address, or IPv6 address, with optional port numbers. The expected format for IPv4 is `ddd.ddd.ddd.ddd:PORT`. The expected format for IPv6 is `xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx` or, if a port number is specified, `[xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx]:PORT`. + sender_domain (str): Domain name appended to alert email messages. + user_name (str): User name for the relay host, if needed. + """ + if name is not None: + self.name = name + if password is not None: + self.password = password + if relay_host is not None: + self.relay_host = relay_host + if sender_domain is not None: + self.sender_domain = sender_domain + if user_name is not None: + self.user_name = user_name + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SmtpServer`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SmtpServer`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SmtpServer`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SmtpServer`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(SmtpServer, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, SmtpServer): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/smtp_server_get_response.py b/pypureclient/flasharray/FA_2_26/models/smtp_server_get_response.py new file mode 100644 index 000000000..00f989dcb --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/smtp_server_get_response.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class SmtpServerGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[SmtpServer]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.SmtpServer] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[SmtpServer]) + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SmtpServerGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SmtpServerGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SmtpServerGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SmtpServerGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(SmtpServerGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, SmtpServerGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/smtp_server_response.py b/pypureclient/flasharray/FA_2_26/models/smtp_server_response.py new file mode 100644 index 000000000..b22ec8a76 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/smtp_server_response.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class SmtpServerResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'items': 'list[SmtpServer]' + } + + attribute_map = { + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + items=None, # type: List[models.SmtpServer] + ): + """ + Keyword args: + items (list[SmtpServer]) + """ + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SmtpServerResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SmtpServerResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SmtpServerResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SmtpServerResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(SmtpServerResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, SmtpServerResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/snapshot.py b/pypureclient/flasharray/FA_2_26/models/snapshot.py new file mode 100644 index 000000000..af0cbdcdf --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/snapshot.py @@ -0,0 +1,165 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class Snapshot(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'created': 'int', + 'destroyed': 'bool', + 'pod': 'FixedReference', + 'provisioned': 'int', + 'source': 'FixedReference', + 'suffix': 'str', + 'time_remaining': 'int' + } + + attribute_map = { + 'created': 'created', + 'destroyed': 'destroyed', + 'pod': 'pod', + 'provisioned': 'provisioned', + 'source': 'source', + 'suffix': 'suffix', + 'time_remaining': 'time_remaining' + } + + required_args = { + } + + def __init__( + self, + created=None, # type: int + destroyed=None, # type: bool + pod=None, # type: models.FixedReference + provisioned=None, # type: int + source=None, # type: models.FixedReference + suffix=None, # type: str + time_remaining=None, # type: int + ): + """ + Keyword args: + created (int): The snapshot creation time. Measured in milliseconds since the UNIX epoch. + destroyed (bool): Returns a value of `true` if the snapshot has been destroyed and is pending eradication. The `time_remaining` value displays the amount of time left until the destroyed volume snapshot is permanently eradicated. Before the `time_remaining` period has elapsed, the destroyed volume snapshot can be recovered by setting `destroyed=false`. Once the `time_remaining` period has elapsed, the volume snapshot is permanently eradicated and can no longer be recovered. + pod (FixedReference): A reference to the pod. + provisioned (int): The provisioned space of the snapshot. Measured in bytes. The minimum size is 1048576 (1MB), the maximum size is 4503599627370496 (4PB) + source (FixedReference): The volume from which this snapshot was taken. + suffix (str): The suffix that is appended to the `source_name` value to generate the full volume snapshot name in the form `VOL.SUFFIX`. If the suffix is not specified, the system constructs the snapshot name in the form `VOL.NNN`, where `VOL` is the volume name, and `NNN` is a monotonically increasing number. + time_remaining (int): The amount of time left until the destroyed snapshot is permanently eradicated. Measured in milliseconds. Before the `time_remaining` period has elapsed, the destroyed snapshot can be recovered by setting `destroyed=false`. + """ + if created is not None: + self.created = created + if destroyed is not None: + self.destroyed = destroyed + if pod is not None: + self.pod = pod + if provisioned is not None: + self.provisioned = provisioned + if source is not None: + self.source = source + if suffix is not None: + self.suffix = suffix + if time_remaining is not None: + self.time_remaining = time_remaining + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Snapshot`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Snapshot`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Snapshot`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Snapshot`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(Snapshot, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, Snapshot): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/snapshot_schedule.py b/pypureclient/flasharray/FA_2_26/models/snapshot_schedule.py new file mode 100644 index 000000000..1a752ad73 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/snapshot_schedule.py @@ -0,0 +1,141 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class SnapshotSchedule(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'at': 'int', + 'enabled': 'bool', + 'frequency': 'int' + } + + attribute_map = { + 'at': 'at', + 'enabled': 'enabled', + 'frequency': 'frequency' + } + + required_args = { + } + + def __init__( + self, + at=None, # type: int + enabled=None, # type: bool + frequency=None, # type: int + ): + """ + Keyword args: + at (int): The time of day the snapshot is scheduled to be taken and retained on the local array or immediately replicated to the target(s). Measured in milliseconds since midnight. The `at` value is only used if the `frequency` parameter is in days (e.g., `259200000`, which is equal to 3 days). + enabled (bool): If set to `true`, the policy is enabled. + frequency (int): The frequency of the scheduled action. Measured in milliseconds. + """ + if at is not None: + self.at = at + if enabled is not None: + self.enabled = enabled + if frequency is not None: + self.frequency = frequency + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SnapshotSchedule`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SnapshotSchedule`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SnapshotSchedule`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SnapshotSchedule`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(SnapshotSchedule, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, SnapshotSchedule): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/snapshot_space.py b/pypureclient/flasharray/FA_2_26/models/snapshot_space.py new file mode 100644 index 000000000..700ed7630 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/snapshot_space.py @@ -0,0 +1,236 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class SnapshotSpace(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'data_reduction': 'float', + 'shared': 'int', + 'snapshots': 'int', + 'system': 'int', + 'thin_provisioning': 'float', + 'total_physical': 'int', + 'total_provisioned': 'int', + 'total_reduction': 'float', + 'unique': 'int', + 'virtual': 'int', + 'used_provisioned': 'int', + 'total_used': 'int', + 'snapshots_effective': 'int' + } + + attribute_map = { + 'data_reduction': 'data_reduction', + 'shared': 'shared', + 'snapshots': 'snapshots', + 'system': 'system', + 'thin_provisioning': 'thin_provisioning', + 'total_physical': 'total_physical', + 'total_provisioned': 'total_provisioned', + 'total_reduction': 'total_reduction', + 'unique': 'unique', + 'virtual': 'virtual', + 'used_provisioned': 'used_provisioned', + 'total_used': 'total_used', + 'snapshots_effective': 'snapshots_effective' + } + + required_args = { + } + + def __init__( + self, + data_reduction=None, # type: float + shared=None, # type: int + snapshots=None, # type: int + system=None, # type: int + thin_provisioning=None, # type: float + total_physical=None, # type: int + total_provisioned=None, # type: int + total_reduction=None, # type: float + unique=None, # type: int + virtual=None, # type: int + used_provisioned=None, # type: int + total_used=None, # type: int + snapshots_effective=None, # type: int + ): + """ + Keyword args: + data_reduction (float): The ratio of mapped sectors within a volume versus the amount of physical space the data occupies after data compression and deduplication. The data reduction ratio does not include thin provisioning savings. For example, a data reduction ratio of 5:1 means that for every 5 MB the host writes to the array, 1 MB is stored on the array's flash modules. + shared (int): The physical space occupied by deduplicated data, meaning that the space is shared with other volumes and snapshots as a result of data deduplication. Measured in bytes. On Evergreen//One arrays, this is the effective space contributed by data that is not unique to a specific volume, managed directory, or snapshot, measured in bytes. + snapshots (int): The physical space occupied by data unique to one or more snapshots. Measured in bytes. On Evergreen//One arrays, this is the effective space contributed by data unique to one or more snapshots, measured in bytes. + system (int): The physical space occupied by internal array metadata. Measured in bytes. + thin_provisioning (float): The percentage of volume sectors that do not contain host-written data because the hosts have not written data to them or the sectors have been explicitly trimmed. + total_physical (int): This field has been deprecated. Please use the `total_used` field, as it contains the same information. + total_provisioned (int): The provisioned size of a volume for a single volume, host or host group, protocol endpoint, managed directory, and containers can be infinite or measured in bytes. Infinite is represented by `null`. The provisioned size for a host or host group, includes all volumes that are connected to the resource. The provisioned size for a protocol endpoint is `null'. The provisioned size for a managed directory is the quota limit if it or its parent has a managed directory configured, otherwise it defaults to `null`. The provisioned size for a container is the sum of the total_provisioned of the object it contains, capped by the container's quota limit (or the container's used_provisioned if current usage is above the quota limit), if any. Provisioned size represents the storage capacity reported to hosts. + total_reduction (float): The ratio of provisioned sectors within a volume versus the amount of physical space the data occupies after reduction via data compression and deduplication and with thin provisioning savings. Total reduction is data reduction with thin provisioning savings. For example, a total reduction ratio of 10:1 means that for every 10 MB of provisioned space, 1 MB is stored on the array's flash modules. + unique (int): The unique physical space occupied by customer data. Unique physical space does not include shared space, snapshots, and internal array metadata. Measured in bytes. On Evergreen//One arrays, this is the effective space contributed by unique customer data, measured in bytes. Unique data does not include shared space, snapshots, and internal array metadata. + virtual (int): The amount of logically written data that a volume or a snapshot references. Measured in bytes. + used_provisioned (int): The amount of logical space a container has consumed. The amount of logical space is compared against the quota limit if the container has one configured. Used provisioned does not include destroyed objects inside the container. For a destroyed container, used provisioned can include destroyed objects and represents how much logical space it would take to recover the container. + total_used (int): The total space contributed by customer data, measured in bytes. + snapshots_effective (int): This field has been deprecated. The effective space contributed by data unique to one or more snapshots, measured in bytes. Please use the `snapshots` field in the future, as it contains the same information for Evergreen//One arrays. + """ + if data_reduction is not None: + self.data_reduction = data_reduction + if shared is not None: + self.shared = shared + if snapshots is not None: + self.snapshots = snapshots + if system is not None: + self.system = system + if thin_provisioning is not None: + self.thin_provisioning = thin_provisioning + if total_physical is not None: + self.total_physical = total_physical + if total_provisioned is not None: + self.total_provisioned = total_provisioned + if total_reduction is not None: + self.total_reduction = total_reduction + if unique is not None: + self.unique = unique + if virtual is not None: + self.virtual = virtual + if used_provisioned is not None: + self.used_provisioned = used_provisioned + if total_used is not None: + self.total_used = total_used + if snapshots_effective is not None: + self.snapshots_effective = snapshots_effective + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SnapshotSpace`".format(key)) + if key == "shared" and value is not None: + if value < 0: + raise ValueError("Invalid value for `shared`, must be a value greater than or equal to `0`") + if key == "snapshots" and value is not None: + if value < 0: + raise ValueError("Invalid value for `snapshots`, must be a value greater than or equal to `0`") + if key == "system" and value is not None: + if value < 0: + raise ValueError("Invalid value for `system`, must be a value greater than or equal to `0`") + if key == "thin_provisioning" and value is not None: + if value > 1.0: + raise ValueError("Invalid value for `thin_provisioning`, value must be less than or equal to `1.0`") + if value < 0.0: + raise ValueError("Invalid value for `thin_provisioning`, must be a value greater than or equal to `0.0`") + if key == "total_physical" and value is not None: + if value < 0: + raise ValueError("Invalid value for `total_physical`, must be a value greater than or equal to `0`") + if key == "total_provisioned" and value is not None: + if value < 0: + raise ValueError("Invalid value for `total_provisioned`, must be a value greater than or equal to `0`") + if key == "unique" and value is not None: + if value < 0: + raise ValueError("Invalid value for `unique`, must be a value greater than or equal to `0`") + if key == "virtual" and value is not None: + if value < 0: + raise ValueError("Invalid value for `virtual`, must be a value greater than or equal to `0`") + if key == "used_provisioned" and value is not None: + if value < 0: + raise ValueError("Invalid value for `used_provisioned`, must be a value greater than or equal to `0`") + if key == "total_used" and value is not None: + if value < 0: + raise ValueError("Invalid value for `total_used`, must be a value greater than or equal to `0`") + if key == "snapshots_effective" and value is not None: + if value < 0: + raise ValueError("Invalid value for `snapshots_effective`, must be a value greater than or equal to `0`") + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SnapshotSpace`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SnapshotSpace`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SnapshotSpace`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(SnapshotSpace, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, SnapshotSpace): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/snmp_agent.py b/pypureclient/flasharray/FA_2_26/models/snmp_agent.py new file mode 100644 index 000000000..e8786f771 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/snmp_agent.py @@ -0,0 +1,156 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class SnmpAgent(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'name': 'str', + 'engine_id': 'str', + 'v2c': 'SnmpV2c', + 'v3': 'SnmpV3', + 'version': 'str' + } + + attribute_map = { + 'name': 'name', + 'engine_id': 'engine_id', + 'v2c': 'v2c', + 'v3': 'v3', + 'version': 'version' + } + + required_args = { + } + + def __init__( + self, + name=None, # type: str + engine_id=None, # type: str + v2c=None, # type: models.SnmpV2c + v3=None, # type: models.SnmpV3 + version=None, # type: str + ): + """ + Keyword args: + name (str): A user-specified name. The name must be locally unique and can be changed. + engine_id (str): The administration domain unique name of an SNMP agent. + v2c (SnmpV2c) + v3 (SnmpV3) + version (str): Version of the SNMP protocol to be used by Purity//FA in communications with the specified manager. Valid values are `v2c` and `v3`. + """ + if name is not None: + self.name = name + if engine_id is not None: + self.engine_id = engine_id + if v2c is not None: + self.v2c = v2c + if v3 is not None: + self.v3 = v3 + if version is not None: + self.version = version + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SnmpAgent`".format(key)) + if key == "engine_id" and value is not None: + if len(value) > 32: + raise ValueError("Invalid value for `engine_id`, length must be less than or equal to `32`") + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SnmpAgent`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SnmpAgent`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SnmpAgent`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(SnmpAgent, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, SnmpAgent): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/snmp_agent_get_response.py b/pypureclient/flasharray/FA_2_26/models/snmp_agent_get_response.py new file mode 100644 index 000000000..c8961183b --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/snmp_agent_get_response.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class SnmpAgentGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[SnmpAgent]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.SnmpAgent] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[SnmpAgent]) + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SnmpAgentGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SnmpAgentGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SnmpAgentGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SnmpAgentGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(SnmpAgentGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, SnmpAgentGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/snmp_agent_mib.py b/pypureclient/flasharray/FA_2_26/models/snmp_agent_mib.py new file mode 100644 index 000000000..3ced75f7a --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/snmp_agent_mib.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class SnmpAgentMib(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'mib': 'str' + } + + attribute_map = { + 'mib': 'mib' + } + + required_args = { + } + + def __init__( + self, + mib=None, # type: str + ): + """ + Keyword args: + mib (str): MIB text. + """ + if mib is not None: + self.mib = mib + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SnmpAgentMib`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SnmpAgentMib`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SnmpAgentMib`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SnmpAgentMib`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(SnmpAgentMib, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, SnmpAgentMib): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/snmp_agent_mib_get_response.py b/pypureclient/flasharray/FA_2_26/models/snmp_agent_mib_get_response.py new file mode 100644 index 000000000..05d3c80db --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/snmp_agent_mib_get_response.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class SnmpAgentMibGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[SnmpAgentMib]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.SnmpAgentMib] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[SnmpAgentMib]) + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SnmpAgentMibGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SnmpAgentMibGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SnmpAgentMibGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SnmpAgentMibGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(SnmpAgentMibGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, SnmpAgentMibGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/snmp_agent_mib_response.py b/pypureclient/flasharray/FA_2_26/models/snmp_agent_mib_response.py new file mode 100644 index 000000000..285e4bf43 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/snmp_agent_mib_response.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class SnmpAgentMibResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'items': 'list[SnmpAgentMib]' + } + + attribute_map = { + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + items=None, # type: List[models.SnmpAgentMib] + ): + """ + Keyword args: + items (list[SnmpAgentMib]) + """ + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SnmpAgentMibResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SnmpAgentMibResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SnmpAgentMibResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SnmpAgentMibResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(SnmpAgentMibResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, SnmpAgentMibResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/snmp_agent_patch.py b/pypureclient/flasharray/FA_2_26/models/snmp_agent_patch.py new file mode 100644 index 000000000..68e5ef1a2 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/snmp_agent_patch.py @@ -0,0 +1,156 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class SnmpAgentPatch(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'name': 'str', + 'engine_id': 'str', + 'v2c': 'SnmpV2c', + 'v3': 'SnmpV3Patch', + 'version': 'str' + } + + attribute_map = { + 'name': 'name', + 'engine_id': 'engine_id', + 'v2c': 'v2c', + 'v3': 'v3', + 'version': 'version' + } + + required_args = { + } + + def __init__( + self, + name=None, # type: str + engine_id=None, # type: str + v2c=None, # type: models.SnmpV2c + v3=None, # type: models.SnmpV3Patch + version=None, # type: str + ): + """ + Keyword args: + name (str): A user-specified name. The name must be locally unique and can be changed. + engine_id (str): The administration domain unique name of an SNMP agent. + v2c (SnmpV2c) + v3 (SnmpV3Patch) + version (str): Version of the SNMP protocol to be used by Purity//FA in communications with the specified manager. Valid values are `v2c` and `v3`. + """ + if name is not None: + self.name = name + if engine_id is not None: + self.engine_id = engine_id + if v2c is not None: + self.v2c = v2c + if v3 is not None: + self.v3 = v3 + if version is not None: + self.version = version + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SnmpAgentPatch`".format(key)) + if key == "engine_id" and value is not None: + if len(value) > 32: + raise ValueError("Invalid value for `engine_id`, length must be less than or equal to `32`") + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SnmpAgentPatch`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SnmpAgentPatch`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SnmpAgentPatch`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(SnmpAgentPatch, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, SnmpAgentPatch): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/snmp_agent_response.py b/pypureclient/flasharray/FA_2_26/models/snmp_agent_response.py new file mode 100644 index 000000000..c59536753 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/snmp_agent_response.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class SnmpAgentResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'items': 'list[SnmpAgent]' + } + + attribute_map = { + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + items=None, # type: List[models.SnmpAgent] + ): + """ + Keyword args: + items (list[SnmpAgent]) + """ + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SnmpAgentResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SnmpAgentResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SnmpAgentResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SnmpAgentResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(SnmpAgentResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, SnmpAgentResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/snmp_manager.py b/pypureclient/flasharray/FA_2_26/models/snmp_manager.py new file mode 100644 index 000000000..5bdd4fc20 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/snmp_manager.py @@ -0,0 +1,159 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class SnmpManager(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'name': 'str', + 'host': 'str', + 'notification': 'str', + 'v2c': 'SnmpV2c', + 'v3': 'SnmpV3', + 'version': 'str' + } + + attribute_map = { + 'name': 'name', + 'host': 'host', + 'notification': 'notification', + 'v2c': 'v2c', + 'v3': 'v3', + 'version': 'version' + } + + required_args = { + } + + def __init__( + self, + name=None, # type: str + host=None, # type: str + notification=None, # type: str + v2c=None, # type: models.SnmpV2c + v3=None, # type: models.SnmpV3 + version=None, # type: str + ): + """ + Keyword args: + name (str): A user-specified name. The name must be locally unique and can be changed. + host (str): DNS hostname or IP address of a computer that hosts an SNMP manager to which Purity//FA is to send trap messages when it generates alerts. + notification (str): The type of notification the agent will send. Valid values are `inform` and `trap`. + v2c (SnmpV2c) + v3 (SnmpV3) + version (str): Version of the SNMP protocol to be used by Purity//FA to communicate with the specified manager. Valid values are `v2c` and `v3`. + """ + if name is not None: + self.name = name + if host is not None: + self.host = host + if notification is not None: + self.notification = notification + if v2c is not None: + self.v2c = v2c + if v3 is not None: + self.v3 = v3 + if version is not None: + self.version = version + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SnmpManager`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SnmpManager`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SnmpManager`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SnmpManager`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(SnmpManager, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, SnmpManager): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/snmp_manager_get_response.py b/pypureclient/flasharray/FA_2_26/models/snmp_manager_get_response.py new file mode 100644 index 000000000..e3bf11d47 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/snmp_manager_get_response.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class SnmpManagerGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[SnmpManager]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.SnmpManager] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[SnmpManager]) + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SnmpManagerGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SnmpManagerGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SnmpManagerGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SnmpManagerGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(SnmpManagerGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, SnmpManagerGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/snmp_manager_patch.py b/pypureclient/flasharray/FA_2_26/models/snmp_manager_patch.py new file mode 100644 index 000000000..d9880a172 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/snmp_manager_patch.py @@ -0,0 +1,159 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class SnmpManagerPatch(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'name': 'str', + 'host': 'str', + 'notification': 'str', + 'v2c': 'SnmpV2c', + 'v3': 'SnmpV3Patch', + 'version': 'str' + } + + attribute_map = { + 'name': 'name', + 'host': 'host', + 'notification': 'notification', + 'v2c': 'v2c', + 'v3': 'v3', + 'version': 'version' + } + + required_args = { + } + + def __init__( + self, + name=None, # type: str + host=None, # type: str + notification=None, # type: str + v2c=None, # type: models.SnmpV2c + v3=None, # type: models.SnmpV3Patch + version=None, # type: str + ): + """ + Keyword args: + name (str): A user-specified name. The name must be locally unique and can be changed. + host (str): DNS hostname or IP address of a computer that hosts an SNMP manager to which Purity//FA is to send trap messages when it generates alerts. + notification (str): The type of notification the agent will send. Valid values are `inform` and `trap`. + v2c (SnmpV2c) + v3 (SnmpV3Patch) + version (str): Version of the SNMP protocol to be used by Purity//FA to communicate with the specified manager. Valid values are `v2c` and `v3`. + """ + if name is not None: + self.name = name + if host is not None: + self.host = host + if notification is not None: + self.notification = notification + if v2c is not None: + self.v2c = v2c + if v3 is not None: + self.v3 = v3 + if version is not None: + self.version = version + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SnmpManagerPatch`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SnmpManagerPatch`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SnmpManagerPatch`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SnmpManagerPatch`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(SnmpManagerPatch, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, SnmpManagerPatch): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/snmp_manager_post.py b/pypureclient/flasharray/FA_2_26/models/snmp_manager_post.py new file mode 100644 index 000000000..1a806bdc8 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/snmp_manager_post.py @@ -0,0 +1,153 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class SnmpManagerPost(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'host': 'str', + 'notification': 'str', + 'v2c': 'SnmpV2c', + 'v3': 'SnmpV3Post', + 'version': 'str' + } + + attribute_map = { + 'host': 'host', + 'notification': 'notification', + 'v2c': 'v2c', + 'v3': 'v3', + 'version': 'version' + } + + required_args = { + } + + def __init__( + self, + host=None, # type: str + notification=None, # type: str + v2c=None, # type: models.SnmpV2c + v3=None, # type: models.SnmpV3Post + version=None, # type: str + ): + """ + Keyword args: + host (str): DNS hostname or IP address of a computer that hosts an SNMP manager to which Purity//FA is to send trap messages when it generates alerts. + notification (str): The type of notification the agent will send. Valid values are `inform` and `trap`. + v2c (SnmpV2c) + v3 (SnmpV3Post) + version (str): Version of the SNMP protocol to be used by Purity//FA to communicate with the specified manager. Valid values are `v2c` and `v3`. + """ + if host is not None: + self.host = host + if notification is not None: + self.notification = notification + if v2c is not None: + self.v2c = v2c + if v3 is not None: + self.v3 = v3 + if version is not None: + self.version = version + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SnmpManagerPost`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SnmpManagerPost`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SnmpManagerPost`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SnmpManagerPost`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(SnmpManagerPost, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, SnmpManagerPost): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/snmp_manager_response.py b/pypureclient/flasharray/FA_2_26/models/snmp_manager_response.py new file mode 100644 index 000000000..bbe265032 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/snmp_manager_response.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class SnmpManagerResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'items': 'list[SnmpManager]' + } + + attribute_map = { + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + items=None, # type: List[models.SnmpManager] + ): + """ + Keyword args: + items (list[SnmpManager]) + """ + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SnmpManagerResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SnmpManagerResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SnmpManagerResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SnmpManagerResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(SnmpManagerResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, SnmpManagerResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/snmp_managers.py b/pypureclient/flasharray/FA_2_26/models/snmp_managers.py new file mode 100644 index 000000000..e5ef18ec6 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/snmp_managers.py @@ -0,0 +1,159 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class SNMPManagers(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'name': 'str', + 'host': 'str', + 'notification': 'str', + 'v2c': 'SnmpV2c', + 'v3': 'SnmpV3', + 'version': 'str' + } + + attribute_map = { + 'name': 'name', + 'host': 'host', + 'notification': 'notification', + 'v2c': 'v2c', + 'v3': 'v3', + 'version': 'version' + } + + required_args = { + } + + def __init__( + self, + name=None, # type: str + host=None, # type: str + notification=None, # type: str + v2c=None, # type: models.SnmpV2c + v3=None, # type: models.SnmpV3 + version=None, # type: str + ): + """ + Keyword args: + name (str): A user-specified name. The name must be locally unique and can be changed. + host (str): DNS hostname or IP address of a computer that hosts an SNMP manager to which Purity//FA is to send trap messages when it generates alerts. + notification (str): The type of notification the agent will send. Valid values are `inform` and `trap`. + v2c (SnmpV2c) + v3 (SnmpV3) + version (str): Version of the SNMP protocol to be used by Purity//FA to communicate with the specified manager. Valid values are `v2c` and `v3`. + """ + if name is not None: + self.name = name + if host is not None: + self.host = host + if notification is not None: + self.notification = notification + if v2c is not None: + self.v2c = v2c + if v3 is not None: + self.v3 = v3 + if version is not None: + self.version = version + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SNMPManagers`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SNMPManagers`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SNMPManagers`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SNMPManagers`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(SNMPManagers, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, SNMPManagers): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/snmp_v2c.py b/pypureclient/flasharray/FA_2_26/models/snmp_v2c.py new file mode 100644 index 000000000..c7a914172 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/snmp_v2c.py @@ -0,0 +1,132 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class SnmpV2c(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'community': 'str' + } + + attribute_map = { + 'community': 'community' + } + + required_args = { + } + + def __init__( + self, + community=None, # type: str + ): + """ + Keyword args: + community (str): Manager community ID under which Purity//FA is to communicate with the specified managers. + """ + if community is not None: + self.community = community + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SnmpV2c`".format(key)) + if key == "community" and value is not None: + if len(value) > 32: + raise ValueError("Invalid value for `community`, length must be less than or equal to `32`") + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SnmpV2c`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SnmpV2c`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SnmpV2c`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(SnmpV2c, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, SnmpV2c): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/snmp_v3.py b/pypureclient/flasharray/FA_2_26/models/snmp_v3.py new file mode 100644 index 000000000..11051480a --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/snmp_v3.py @@ -0,0 +1,153 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class SnmpV3(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'auth_passphrase': 'str', + 'auth_protocol': 'str', + 'privacy_passphrase': 'str', + 'privacy_protocol': 'str', + 'user': 'str' + } + + attribute_map = { + 'auth_passphrase': 'auth_passphrase', + 'auth_protocol': 'auth_protocol', + 'privacy_passphrase': 'privacy_passphrase', + 'privacy_protocol': 'privacy_protocol', + 'user': 'user' + } + + required_args = { + } + + def __init__( + self, + auth_passphrase=None, # type: str + auth_protocol=None, # type: str + privacy_passphrase=None, # type: str + privacy_protocol=None, # type: str + user=None, # type: str + ): + """ + Keyword args: + auth_passphrase (str): Passphrase used by Purity//FA to authenticate the array with the specified managers. + auth_protocol (str): Hash algorithm used to validate the authentication passphrase. Valid values are `MD5` and `SHA`. + privacy_passphrase (str): Passphrase used to encrypt SNMP messages. + privacy_protocol (str): Encryption protocol for SNMP messages. Valid values are `AES` and `DES`. + user (str): User ID recognized by the specified SNMP managers which Purity//FA is to use in communications with them. + """ + if auth_passphrase is not None: + self.auth_passphrase = auth_passphrase + if auth_protocol is not None: + self.auth_protocol = auth_protocol + if privacy_passphrase is not None: + self.privacy_passphrase = privacy_passphrase + if privacy_protocol is not None: + self.privacy_protocol = privacy_protocol + if user is not None: + self.user = user + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SnmpV3`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SnmpV3`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SnmpV3`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SnmpV3`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(SnmpV3, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, SnmpV3): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/snmp_v3_patch.py b/pypureclient/flasharray/FA_2_26/models/snmp_v3_patch.py new file mode 100644 index 000000000..d252ce349 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/snmp_v3_patch.py @@ -0,0 +1,161 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class SnmpV3Patch(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'auth_passphrase': 'str', + 'auth_protocol': 'str', + 'privacy_passphrase': 'str', + 'privacy_protocol': 'str', + 'user': 'str' + } + + attribute_map = { + 'auth_passphrase': 'auth_passphrase', + 'auth_protocol': 'auth_protocol', + 'privacy_passphrase': 'privacy_passphrase', + 'privacy_protocol': 'privacy_protocol', + 'user': 'user' + } + + required_args = { + } + + def __init__( + self, + auth_passphrase=None, # type: str + auth_protocol=None, # type: str + privacy_passphrase=None, # type: str + privacy_protocol=None, # type: str + user=None, # type: str + ): + """ + Keyword args: + auth_passphrase (str): Passphrase used by Purity//FA to authenticate the array with the specified managers. + auth_protocol (str): Hash algorithm used to validate the authentication passphrase. Valid values are `MD5` and `SHA`. + privacy_passphrase (str): Passphrase used to encrypt SNMP messages. + privacy_protocol (str): Encryption protocol for SNMP messages. Valid values are `AES` and `DES`. + user (str): User ID recognized by the specified SNMP managers which Purity//FA is to use in communications with them. + """ + if auth_passphrase is not None: + self.auth_passphrase = auth_passphrase + if auth_protocol is not None: + self.auth_protocol = auth_protocol + if privacy_passphrase is not None: + self.privacy_passphrase = privacy_passphrase + if privacy_protocol is not None: + self.privacy_protocol = privacy_protocol + if user is not None: + self.user = user + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SnmpV3Patch`".format(key)) + if key == "auth_passphrase" and value is not None: + if len(value) > 32: + raise ValueError("Invalid value for `auth_passphrase`, length must be less than or equal to `32`") + if key == "privacy_passphrase" and value is not None: + if len(value) > 63: + raise ValueError("Invalid value for `privacy_passphrase`, length must be less than or equal to `63`") + if len(value) < 8: + raise ValueError("Invalid value for `privacy_passphrase`, length must be greater than or equal to `8`") + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SnmpV3Patch`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SnmpV3Patch`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SnmpV3Patch`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(SnmpV3Patch, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, SnmpV3Patch): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/snmp_v3_post.py b/pypureclient/flasharray/FA_2_26/models/snmp_v3_post.py new file mode 100644 index 000000000..088cbc687 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/snmp_v3_post.py @@ -0,0 +1,161 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class SnmpV3Post(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'auth_passphrase': 'str', + 'auth_protocol': 'str', + 'privacy_passphrase': 'str', + 'privacy_protocol': 'str', + 'user': 'str' + } + + attribute_map = { + 'auth_passphrase': 'auth_passphrase', + 'auth_protocol': 'auth_protocol', + 'privacy_passphrase': 'privacy_passphrase', + 'privacy_protocol': 'privacy_protocol', + 'user': 'user' + } + + required_args = { + } + + def __init__( + self, + auth_passphrase=None, # type: str + auth_protocol=None, # type: str + privacy_passphrase=None, # type: str + privacy_protocol=None, # type: str + user=None, # type: str + ): + """ + Keyword args: + auth_passphrase (str): Passphrase used by Purity//FA to authenticate the array with the specified managers. + auth_protocol (str): Hash algorithm used to validate the authentication passphrase. Valid values are `MD5` and `SHA`. + privacy_passphrase (str): Passphrase used to encrypt SNMP messages. + privacy_protocol (str): Encryption protocol for SNMP messages. Valid values are `AES` and `DES`. + user (str): User ID recognized by the specified SNMP managers which Purity//FA is to use in communications with them. + """ + if auth_passphrase is not None: + self.auth_passphrase = auth_passphrase + if auth_protocol is not None: + self.auth_protocol = auth_protocol + if privacy_passphrase is not None: + self.privacy_passphrase = privacy_passphrase + if privacy_protocol is not None: + self.privacy_protocol = privacy_protocol + if user is not None: + self.user = user + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SnmpV3Post`".format(key)) + if key == "auth_passphrase" and value is not None: + if len(value) > 32: + raise ValueError("Invalid value for `auth_passphrase`, length must be less than or equal to `32`") + if key == "privacy_passphrase" and value is not None: + if len(value) > 63: + raise ValueError("Invalid value for `privacy_passphrase`, length must be less than or equal to `63`") + if len(value) < 8: + raise ValueError("Invalid value for `privacy_passphrase`, length must be greater than or equal to `8`") + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SnmpV3Post`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SnmpV3Post`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SnmpV3Post`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(SnmpV3Post, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, SnmpV3Post): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/software.py b/pypureclient/flasharray/FA_2_26/models/software.py new file mode 100644 index 000000000..34558e4ac --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/software.py @@ -0,0 +1,177 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class Software(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'id': 'str', + 'name': 'str', + 'details': 'str', + 'payload_id': 'str', + 'progress': 'float', + 'upgrade_hops': 'list[str]', + 'version': 'str', + 'upgrade_plan': 'list[SoftwareUpgradePlan]', + 'status': 'str' + } + + attribute_map = { + 'id': 'id', + 'name': 'name', + 'details': 'details', + 'payload_id': 'payload_id', + 'progress': 'progress', + 'upgrade_hops': 'upgrade_hops', + 'version': 'version', + 'upgrade_plan': 'upgrade_plan', + 'status': 'status' + } + + required_args = { + } + + def __init__( + self, + id=None, # type: str + name=None, # type: str + details=None, # type: str + payload_id=None, # type: str + progress=None, # type: float + upgrade_hops=None, # type: List[str] + version=None, # type: str + upgrade_plan=None, # type: List[models.SoftwareUpgradePlan] + status=None, # type: str + ): + """ + Keyword args: + id (str): A globally unique, system-generated ID. The ID cannot be modified. + name (str): Name of the resource. The name cannot be modified. + details (str): The detailed reason for the `status`. + payload_id (str): A checksum hash referring to the update bundle. + progress (float): The progress of the software upgrade. Displayed in decimal format. + upgrade_hops (list[str]): The plan by which the upgrade will be conducted. The first element is the current version, the last element is the destination version, and the elements in between are intermediate versions. + version (str): The version of the software package. + upgrade_plan (list[SoftwareUpgradePlan]): A list of steps that are planned to run during the upgrade in an optimal scenario (i.e., all upgrade checks pass, no step is retried, and the upgrade is not aborted). Steps are listed in the order that they should occur. + status (str): The status of the software package. Valid values are `available`, `downloaded`, `downloading`, `download_failed`, `checking`, `installing`, `new`, `paused`, `aborting`, `abort`, `canceled`, `partially_installed`, and `installed`. A status of `available` indicates that the package is available for download. This only applies if `automatic-download` is not enabled. A status of `downloaded` indicates that the package is downloaded and ready for installation. A status of `downloading` indicates that the package is currently downloading. A status of `download_failed` indicates that the download of the package failed. A status of `checking` indicates that the package is currently running in `check-only` mode. A status of `installing` indicates that the package is currently installing. A status of `new` indicates that Pure1 cloud is still building the package. A status of `paused` indicates that the upgrade is paused and waiting for user input to proceed. A status of `aborting` indicates that the upgrade is being aborted, due to an unrecoverable error or an `abort` command issued by the user. A status of `canceled` indicates that the upgrade has been canceled. A status of `partially_installed` indicates that the upgrade has been partially installed due to an `abort`. The array has been upgraded to an intermediate version and the `software` is no longer available for installation. A status of `installed` indicates that the upgrade has finished. + """ + if id is not None: + self.id = id + if name is not None: + self.name = name + if details is not None: + self.details = details + if payload_id is not None: + self.payload_id = payload_id + if progress is not None: + self.progress = progress + if upgrade_hops is not None: + self.upgrade_hops = upgrade_hops + if version is not None: + self.version = version + if upgrade_plan is not None: + self.upgrade_plan = upgrade_plan + if status is not None: + self.status = status + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Software`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Software`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Software`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Software`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(Software, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, Software): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/software_bundle.py b/pypureclient/flasharray/FA_2_26/models/software_bundle.py new file mode 100644 index 000000000..e2275d112 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/software_bundle.py @@ -0,0 +1,159 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class SoftwareBundle(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'id': 'str', + 'source': 'str', + 'created': 'float', + 'details': 'str', + 'download_progress': 'float', + 'status': 'str' + } + + attribute_map = { + 'id': 'id', + 'source': 'source', + 'created': 'created', + 'details': 'details', + 'download_progress': 'download_progress', + 'status': 'status' + } + + required_args = { + } + + def __init__( + self, + id=None, # type: str + source=None, # type: str + created=None, # type: float + details=None, # type: str + download_progress=None, # type: float + status=None, # type: str + ): + """ + Keyword args: + id (str): A non-modifiable, globally unique ID chosen by the system. + source (str): The location of the upgrade bundle. + created (float): Creation time in milliseconds since the UNIX epoch. + details (str): The detailed reason for the `status`. + download_progress (float): The progress of the download. Displayed in decimal format. + status (str): The status of the software bundle. Valid values are `downloading`, `failed`, `ready`, and `verifying`. A status of `downloading` indicates that the array is downloading the upgrade bundle. A status of `failed` indicates that the array has failed to download the upgrade bundle. A status of `ready` indicates that the upgrade bundle is ready to be installed. A status of `verifying` indicates that the array is verifying the upgrade bundle. + """ + if id is not None: + self.id = id + if source is not None: + self.source = source + if created is not None: + self.created = created + if details is not None: + self.details = details + if download_progress is not None: + self.download_progress = download_progress + if status is not None: + self.status = status + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwareBundle`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwareBundle`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwareBundle`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwareBundle`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(SoftwareBundle, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, SoftwareBundle): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/software_bundle_get_response.py b/pypureclient/flasharray/FA_2_26/models/software_bundle_get_response.py new file mode 100644 index 000000000..2e800f2b4 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/software_bundle_get_response.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class SoftwareBundleGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[SoftwareBundle]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.SoftwareBundle] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[SoftwareBundle]) + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwareBundleGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwareBundleGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwareBundleGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwareBundleGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(SoftwareBundleGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, SoftwareBundleGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/software_bundle_post.py b/pypureclient/flasharray/FA_2_26/models/software_bundle_post.py new file mode 100644 index 000000000..2f5513eb6 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/software_bundle_post.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class SoftwareBundlePost(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'source': 'str' + } + + attribute_map = { + 'source': 'source' + } + + required_args = { + } + + def __init__( + self, + source=None, # type: str + ): + """ + Keyword args: + source (str): The source of the software bundle. Accepts HTTP, HTTPS or FTP, and paths. + """ + if source is not None: + self.source = source + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwareBundlePost`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwareBundlePost`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwareBundlePost`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwareBundlePost`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(SoftwareBundlePost, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, SoftwareBundlePost): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/software_bundle_response.py b/pypureclient/flasharray/FA_2_26/models/software_bundle_response.py new file mode 100644 index 000000000..1307d2bd0 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/software_bundle_response.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class SoftwareBundleResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'items': 'list[SoftwareBundle]' + } + + attribute_map = { + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + items=None, # type: List[models.SoftwareBundle] + ): + """ + Keyword args: + items (list[SoftwareBundle]) + """ + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwareBundleResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwareBundleResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwareBundleResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwareBundleResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(SoftwareBundleResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, SoftwareBundleResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/software_check.py b/pypureclient/flasharray/FA_2_26/models/software_check.py new file mode 100644 index 000000000..e3e2ef7d5 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/software_check.py @@ -0,0 +1,183 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class SoftwareCheck(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'id': 'str', + 'name': 'str', + 'start_time': 'int', + 'end_time': 'int', + 'checks': 'list[SoftwareChecksChecks]', + 'details': 'str', + 'software_name': 'str', + 'software_upgrade_hops': 'list[str]', + 'software_version': 'str', + 'status': 'str' + } + + attribute_map = { + 'id': 'id', + 'name': 'name', + 'start_time': 'start_time', + 'end_time': 'end_time', + 'checks': 'checks', + 'details': 'details', + 'software_name': 'software_name', + 'software_upgrade_hops': 'software_upgrade_hops', + 'software_version': 'software_version', + 'status': 'status' + } + + required_args = { + } + + def __init__( + self, + id=None, # type: str + name=None, # type: str + start_time=None, # type: int + end_time=None, # type: int + checks=None, # type: List[models.SoftwareChecksChecks] + details=None, # type: str + software_name=None, # type: str + software_upgrade_hops=None, # type: List[str] + software_version=None, # type: str + status=None, # type: str + ): + """ + Keyword args: + id (str): A globally unique, system-generated ID. The ID cannot be modified. + name (str): Name of the resource. The name cannot be modified. + start_time (int): Start time in milliseconds since the UNIX epoch. + end_time (int): End time in milliseconds since the UNIX epoch. + checks (list[SoftwareChecksChecks]): A list of checks in this check task. + details (str): The detailed reason for the `status`. + software_name (str): The name of the software the upgrade checks will test. + software_upgrade_hops (list[str]): The list of software versions the upgrade goes through. The upgrade checks also test this particular path. + software_version (str): The version of the software that the upgrade checks will test. + status (str): The status of the check task. Valid values are `queued`, `running`, `passed`, and `failed`. A status of `queued` indicates that the task is queued to run and is waiting for other check tasks to complete. A status of `running` indicates that the task is currently running. A status of `passed` indicates that all upgrade checks in the task are complete. A status of `failed` indicates that at least one upgrade check in the task has failed. + """ + if id is not None: + self.id = id + if name is not None: + self.name = name + if start_time is not None: + self.start_time = start_time + if end_time is not None: + self.end_time = end_time + if checks is not None: + self.checks = checks + if details is not None: + self.details = details + if software_name is not None: + self.software_name = software_name + if software_upgrade_hops is not None: + self.software_upgrade_hops = software_upgrade_hops + if software_version is not None: + self.software_version = software_version + if status is not None: + self.status = status + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwareCheck`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwareCheck`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwareCheck`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwareCheck`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(SoftwareCheck, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, SoftwareCheck): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/software_checks.py b/pypureclient/flasharray/FA_2_26/models/software_checks.py new file mode 100644 index 000000000..87afb12a1 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/software_checks.py @@ -0,0 +1,183 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class SoftwareChecks(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'id': 'str', + 'name': 'str', + 'start_time': 'int', + 'end_time': 'int', + 'checks': 'list[SoftwareChecksChecks]', + 'details': 'str', + 'software_name': 'str', + 'software_upgrade_hops': 'list[str]', + 'software_version': 'str', + 'status': 'str' + } + + attribute_map = { + 'id': 'id', + 'name': 'name', + 'start_time': 'start_time', + 'end_time': 'end_time', + 'checks': 'checks', + 'details': 'details', + 'software_name': 'software_name', + 'software_upgrade_hops': 'software_upgrade_hops', + 'software_version': 'software_version', + 'status': 'status' + } + + required_args = { + } + + def __init__( + self, + id=None, # type: str + name=None, # type: str + start_time=None, # type: int + end_time=None, # type: int + checks=None, # type: List[models.SoftwareChecksChecks] + details=None, # type: str + software_name=None, # type: str + software_upgrade_hops=None, # type: List[str] + software_version=None, # type: str + status=None, # type: str + ): + """ + Keyword args: + id (str): A globally unique, system-generated ID. The ID cannot be modified. + name (str): Name of the resource. The name cannot be modified. + start_time (int): Start time in milliseconds since the UNIX epoch. + end_time (int): End time in milliseconds since the UNIX epoch. + checks (list[SoftwareChecksChecks]): A list of checks in this check task. + details (str): The detailed reason for the `status`. + software_name (str): The name of the software the upgrade checks will test. + software_upgrade_hops (list[str]): The list of software versions the upgrade goes through. The upgrade checks also test this particular path. + software_version (str): The version of the software that the upgrade checks will test. + status (str): The status of the check task. Valid values are `queued`, `running`, `passed`, and `failed`. A status of `queued` indicates that the task is queued to run and is waiting for other check tasks to complete. A status of `running` indicates that the task is currently running. A status of `passed` indicates that all upgrade checks in the task are complete. A status of `failed` indicates that at least one upgrade check in the task has failed. + """ + if id is not None: + self.id = id + if name is not None: + self.name = name + if start_time is not None: + self.start_time = start_time + if end_time is not None: + self.end_time = end_time + if checks is not None: + self.checks = checks + if details is not None: + self.details = details + if software_name is not None: + self.software_name = software_name + if software_upgrade_hops is not None: + self.software_upgrade_hops = software_upgrade_hops + if software_version is not None: + self.software_version = software_version + if status is not None: + self.status = status + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwareChecks`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwareChecks`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwareChecks`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwareChecks`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(SoftwareChecks, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, SoftwareChecks): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/software_checks_checks.py b/pypureclient/flasharray/FA_2_26/models/software_checks_checks.py new file mode 100644 index 000000000..4f06e9beb --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/software_checks_checks.py @@ -0,0 +1,141 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class SoftwareChecksChecks(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'name': 'str', + 'details': 'str', + 'status': 'str' + } + + attribute_map = { + 'name': 'name', + 'details': 'details', + 'status': 'status' + } + + required_args = { + } + + def __init__( + self, + name=None, # type: str + details=None, # type: str + status=None, # type: str + ): + """ + Keyword args: + name (str): Name of the upgrade check. + details (str): Detailed result of the check used to diagnose check failures. + status (str): Status of the check. Valid values are `running`, `failed`, and `passed`. A status of `running` indicates that the check has not finished. A status of `failed` indicates that the check has failed. A status of `passed` indicates that the check has passed. + """ + if name is not None: + self.name = name + if details is not None: + self.details = details + if status is not None: + self.status = status + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwareChecksChecks`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwareChecksChecks`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwareChecksChecks`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwareChecksChecks`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(SoftwareChecksChecks, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, SoftwareChecksChecks): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/software_checks_get_response.py b/pypureclient/flasharray/FA_2_26/models/software_checks_get_response.py new file mode 100644 index 000000000..0012f9a7c --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/software_checks_get_response.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class SoftwareChecksGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[SoftwareCheck]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.SoftwareCheck] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[SoftwareCheck]) + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwareChecksGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwareChecksGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwareChecksGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwareChecksGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(SoftwareChecksGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, SoftwareChecksGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/software_checks_response.py b/pypureclient/flasharray/FA_2_26/models/software_checks_response.py new file mode 100644 index 000000000..ca60a34bf --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/software_checks_response.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class SoftwareChecksResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'items': 'list[SoftwareCheck]' + } + + attribute_map = { + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + items=None, # type: List[models.SoftwareCheck] + ): + """ + Keyword args: + items (list[SoftwareCheck]) + """ + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwareChecksResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwareChecksResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwareChecksResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwareChecksResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(SoftwareChecksResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, SoftwareChecksResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/software_get_response.py b/pypureclient/flasharray/FA_2_26/models/software_get_response.py new file mode 100644 index 000000000..377f67372 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/software_get_response.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class SoftwareGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[Software]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.Software] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[Software]) + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwareGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwareGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwareGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwareGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(SoftwareGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, SoftwareGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/software_installation.py b/pypureclient/flasharray/FA_2_26/models/software_installation.py new file mode 100644 index 000000000..32a0ff7d6 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/software_installation.py @@ -0,0 +1,183 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class SoftwareInstallation(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'id': 'str', + 'name': 'str', + 'start_time': 'int', + 'end_time': 'int', + 'current_step_id': 'str', + 'details': 'str', + 'mode': 'str', + 'override_checks': 'list[OverrideCheck]', + 'software': 'Reference', + 'status': 'str' + } + + attribute_map = { + 'id': 'id', + 'name': 'name', + 'start_time': 'start_time', + 'end_time': 'end_time', + 'current_step_id': 'current_step_id', + 'details': 'details', + 'mode': 'mode', + 'override_checks': 'override_checks', + 'software': 'software', + 'status': 'status' + } + + required_args = { + } + + def __init__( + self, + id=None, # type: str + name=None, # type: str + start_time=None, # type: int + end_time=None, # type: int + current_step_id=None, # type: str + details=None, # type: str + mode=None, # type: str + override_checks=None, # type: List[models.OverrideCheck] + software=None, # type: models.Reference + status=None, # type: str + ): + """ + Keyword args: + id (str): A globally unique, system-generated ID. The ID cannot be modified. + name (str): Name of the resource. The name cannot be modified. + start_time (int): Start time in milliseconds since the UNIX epoch. + end_time (int): End time in milliseconds since the UNIX epoch. + current_step_id (str): The `id` of the current step or `null` if the upgrade is not active. + details (str): The detailed reason for the `status`. + mode (str): Mode that the upgrade is in. Valid values are `check-only`, `interactive`, `semi-interactive`, and `one-click`. The `check_only` mode is deprecated. Use `/software-checks`. In this mode, the upgrade only runs pre-upgrade checks and returns. In `interactive` mode, the upgrade pauses at several points, at which users must enter certain commands to proceed. In `semi-interactive` mode, the upgrade pauses if there are any upgrade check failures, and functions like `one-click` mode otherwise. In `one-click` mode, the upgrade proceeds automatically without pausing. + override_checks (list[OverrideCheck]): A list of upgrade checks whose failure is overridden during the upgrade. If any optional `args` are provided, they are validated later when the corresponding check script runs. + software (Reference): Referenced `software` to which the upgrade belongs. + status (str): Status of the upgrade. Valid values are `installing`, `paused`, `aborting`, `aborted`, and `finished`. A status of `installing` indicates that the upgrade is running. A status of `paused` indicates that the upgrade is paused and waiting for user input. A status of `aborting` indicates that the upgrade is being aborted. A status of `aborted` indicates that the upgrade has stopped due to an abort. A status of `finished` indicates that the upgrade has finished successfully. + """ + if id is not None: + self.id = id + if name is not None: + self.name = name + if start_time is not None: + self.start_time = start_time + if end_time is not None: + self.end_time = end_time + if current_step_id is not None: + self.current_step_id = current_step_id + if details is not None: + self.details = details + if mode is not None: + self.mode = mode + if override_checks is not None: + self.override_checks = override_checks + if software is not None: + self.software = software + if status is not None: + self.status = status + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwareInstallation`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwareInstallation`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwareInstallation`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwareInstallation`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(SoftwareInstallation, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, SoftwareInstallation): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/software_installation_patch.py b/pypureclient/flasharray/FA_2_26/models/software_installation_patch.py new file mode 100644 index 000000000..2faf2ecc6 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/software_installation_patch.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class SoftwareInstallationPatch(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'add_override_checks': 'list[OverrideCheck]' + } + + attribute_map = { + 'add_override_checks': 'add_override_checks' + } + + required_args = { + } + + def __init__( + self, + add_override_checks=None, # type: List[models.OverrideCheck] + ): + """ + Keyword args: + add_override_checks (list[OverrideCheck]): Adds the specified checks to the current list of override checks. + """ + if add_override_checks is not None: + self.add_override_checks = add_override_checks + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwareInstallationPatch`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwareInstallationPatch`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwareInstallationPatch`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwareInstallationPatch`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(SoftwareInstallationPatch, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, SoftwareInstallationPatch): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/software_installation_post.py b/pypureclient/flasharray/FA_2_26/models/software_installation_post.py new file mode 100644 index 000000000..deb406727 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/software_installation_post.py @@ -0,0 +1,135 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class SoftwareInstallationPost(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'mode': 'str', + 'override_checks': 'list[OverrideCheck]' + } + + attribute_map = { + 'mode': 'mode', + 'override_checks': 'override_checks' + } + + required_args = { + } + + def __init__( + self, + mode=None, # type: str + override_checks=None, # type: List[models.OverrideCheck] + ): + """ + Keyword args: + mode (str): Mode that the upgrade is in. Valid values are `check-only`, `interactive`, `semi-interactive`, and `one-click`. The `check_only` mode is deprecated. Use `/software-checks`. In this mode, the upgrade only runs pre-upgrade checks and returns. In `interactive` mode, the upgrade pauses at several points, at which users must enter certain commands to proceed. In `semi-interactive` mode, the upgrade pauses if there are any upgrade check failures and functions like `one-click` mode otherwise. In `one-click` mode, the upgrade proceeds automatically without pausing. + override_checks (list[OverrideCheck]): A list of upgrade checks whose failures are overridden during the upgrade. If any optional `args` are provided, they are validated later when the corresponding check script runs. + """ + if mode is not None: + self.mode = mode + if override_checks is not None: + self.override_checks = override_checks + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwareInstallationPost`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwareInstallationPost`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwareInstallationPost`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwareInstallationPost`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(SoftwareInstallationPost, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, SoftwareInstallationPost): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/software_installation_step.py b/pypureclient/flasharray/FA_2_26/models/software_installation_step.py new file mode 100644 index 000000000..7c680ed9d --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/software_installation_step.py @@ -0,0 +1,183 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class SoftwareInstallationStep(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'id': 'str', + 'name': 'str', + 'start_time': 'int', + 'end_time': 'int', + 'checks': 'list[SoftwareInstallationStepsChecks]', + 'description': 'str', + 'details': 'str', + 'hop_version': 'str', + 'installation': 'Reference', + 'status': 'str' + } + + attribute_map = { + 'id': 'id', + 'name': 'name', + 'start_time': 'start_time', + 'end_time': 'end_time', + 'checks': 'checks', + 'description': 'description', + 'details': 'details', + 'hop_version': 'hop_version', + 'installation': 'installation', + 'status': 'status' + } + + required_args = { + } + + def __init__( + self, + id=None, # type: str + name=None, # type: str + start_time=None, # type: int + end_time=None, # type: int + checks=None, # type: List[models.SoftwareInstallationStepsChecks] + description=None, # type: str + details=None, # type: str + hop_version=None, # type: str + installation=None, # type: models.Reference + status=None, # type: str + ): + """ + Keyword args: + id (str): A globally unique, system-generated ID. The ID cannot be modified. + name (str): Name of the resource. The name cannot be modified. + start_time (int): Start time in milliseconds since the UNIX epoch. + end_time (int): End time in milliseconds since the UNIX epoch. + checks (list[SoftwareInstallationStepsChecks]): A list of checks in this upgrade step. + description (str): Detailed description of the step. + details (str): Detailed result of the step used to diagnose step failures. + hop_version (str): The version to which the current hop is upgrading. + installation (Reference): Referenced `software-installation` to which the step belongs. + status (str): Status of the step. Valid values are `running` and `finished`. A status of `running` indicates that the step has not finished. A status of `finished` indicates that the check has finished. + """ + if id is not None: + self.id = id + if name is not None: + self.name = name + if start_time is not None: + self.start_time = start_time + if end_time is not None: + self.end_time = end_time + if checks is not None: + self.checks = checks + if description is not None: + self.description = description + if details is not None: + self.details = details + if hop_version is not None: + self.hop_version = hop_version + if installation is not None: + self.installation = installation + if status is not None: + self.status = status + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwareInstallationStep`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwareInstallationStep`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwareInstallationStep`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwareInstallationStep`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(SoftwareInstallationStep, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, SoftwareInstallationStep): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/software_installation_steps.py b/pypureclient/flasharray/FA_2_26/models/software_installation_steps.py new file mode 100644 index 000000000..56a506835 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/software_installation_steps.py @@ -0,0 +1,183 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class SoftwareInstallationSteps(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'id': 'str', + 'name': 'str', + 'start_time': 'int', + 'end_time': 'int', + 'checks': 'list[SoftwareInstallationStepsChecks]', + 'description': 'str', + 'details': 'str', + 'hop_version': 'str', + 'installation': 'Reference', + 'status': 'str' + } + + attribute_map = { + 'id': 'id', + 'name': 'name', + 'start_time': 'start_time', + 'end_time': 'end_time', + 'checks': 'checks', + 'description': 'description', + 'details': 'details', + 'hop_version': 'hop_version', + 'installation': 'installation', + 'status': 'status' + } + + required_args = { + } + + def __init__( + self, + id=None, # type: str + name=None, # type: str + start_time=None, # type: int + end_time=None, # type: int + checks=None, # type: List[models.SoftwareInstallationStepsChecks] + description=None, # type: str + details=None, # type: str + hop_version=None, # type: str + installation=None, # type: models.Reference + status=None, # type: str + ): + """ + Keyword args: + id (str): A globally unique, system-generated ID. The ID cannot be modified. + name (str): Name of the resource. The name cannot be modified. + start_time (int): Start time in milliseconds since the UNIX epoch. + end_time (int): End time in milliseconds since the UNIX epoch. + checks (list[SoftwareInstallationStepsChecks]): A list of checks in this upgrade step. + description (str): Detailed description of the step. + details (str): Detailed result of the step used to diagnose step failures. + hop_version (str): The version to which the current hop is upgrading. + installation (Reference): Referenced `software-installation` to which the step belongs. + status (str): Status of the step. Valid values are `running` and `finished`. A status of `running` indicates that the step has not finished. A status of `finished` indicates that the check has finished. + """ + if id is not None: + self.id = id + if name is not None: + self.name = name + if start_time is not None: + self.start_time = start_time + if end_time is not None: + self.end_time = end_time + if checks is not None: + self.checks = checks + if description is not None: + self.description = description + if details is not None: + self.details = details + if hop_version is not None: + self.hop_version = hop_version + if installation is not None: + self.installation = installation + if status is not None: + self.status = status + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwareInstallationSteps`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwareInstallationSteps`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwareInstallationSteps`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwareInstallationSteps`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(SoftwareInstallationSteps, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, SoftwareInstallationSteps): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/software_installation_steps_checks.py b/pypureclient/flasharray/FA_2_26/models/software_installation_steps_checks.py new file mode 100644 index 000000000..d652a74dc --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/software_installation_steps_checks.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class SoftwareInstallationStepsChecks(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'details': 'str', + 'name': 'str', + 'overridable': 'bool', + 'status': 'str' + } + + attribute_map = { + 'details': 'details', + 'name': 'name', + 'overridable': 'overridable', + 'status': 'status' + } + + required_args = { + } + + def __init__( + self, + details=None, # type: str + name=None, # type: str + overridable=None, # type: bool + status=None, # type: str + ): + """ + Keyword args: + details (str): Detailed result of the check used to diagnose check failures. + name (str): Name of the upgrade check. + overridable (bool): Whether the check failure can be overridden. + status (str): Status of the check. Valid values are `running`, `failed`, `passed`, and `overridden`. A status of `running` indicates that the check has not finished. A status of `failed` indicates that the check has failed. A status of `passed` indicates that the check has passed. A status of `overridden` indicates that the check has failed, but the failure has been overridden. + """ + if details is not None: + self.details = details + if name is not None: + self.name = name + if overridable is not None: + self.overridable = overridable + if status is not None: + self.status = status + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwareInstallationStepsChecks`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwareInstallationStepsChecks`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwareInstallationStepsChecks`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwareInstallationStepsChecks`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(SoftwareInstallationStepsChecks, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, SoftwareInstallationStepsChecks): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/software_installation_steps_get_response.py b/pypureclient/flasharray/FA_2_26/models/software_installation_steps_get_response.py new file mode 100644 index 000000000..b070a4d48 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/software_installation_steps_get_response.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class SoftwareInstallationStepsGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[SoftwareInstallationStep]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.SoftwareInstallationStep] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[SoftwareInstallationStep]) + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwareInstallationStepsGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwareInstallationStepsGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwareInstallationStepsGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwareInstallationStepsGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(SoftwareInstallationStepsGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, SoftwareInstallationStepsGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/software_installation_steps_response.py b/pypureclient/flasharray/FA_2_26/models/software_installation_steps_response.py new file mode 100644 index 000000000..55d7a52f6 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/software_installation_steps_response.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class SoftwareInstallationStepsResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'items': 'list[SoftwareInstallationStep]' + } + + attribute_map = { + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + items=None, # type: List[models.SoftwareInstallationStep] + ): + """ + Keyword args: + items (list[SoftwareInstallationStep]) + """ + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwareInstallationStepsResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwareInstallationStepsResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwareInstallationStepsResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwareInstallationStepsResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(SoftwareInstallationStepsResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, SoftwareInstallationStepsResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/software_installations.py b/pypureclient/flasharray/FA_2_26/models/software_installations.py new file mode 100644 index 000000000..17dcf717d --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/software_installations.py @@ -0,0 +1,183 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class SoftwareInstallations(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'id': 'str', + 'name': 'str', + 'start_time': 'int', + 'end_time': 'int', + 'current_step_id': 'str', + 'details': 'str', + 'mode': 'str', + 'override_checks': 'list[OverrideCheck]', + 'software': 'Reference', + 'status': 'str' + } + + attribute_map = { + 'id': 'id', + 'name': 'name', + 'start_time': 'start_time', + 'end_time': 'end_time', + 'current_step_id': 'current_step_id', + 'details': 'details', + 'mode': 'mode', + 'override_checks': 'override_checks', + 'software': 'software', + 'status': 'status' + } + + required_args = { + } + + def __init__( + self, + id=None, # type: str + name=None, # type: str + start_time=None, # type: int + end_time=None, # type: int + current_step_id=None, # type: str + details=None, # type: str + mode=None, # type: str + override_checks=None, # type: List[models.OverrideCheck] + software=None, # type: models.Reference + status=None, # type: str + ): + """ + Keyword args: + id (str): A globally unique, system-generated ID. The ID cannot be modified. + name (str): Name of the resource. The name cannot be modified. + start_time (int): Start time in milliseconds since the UNIX epoch. + end_time (int): End time in milliseconds since the UNIX epoch. + current_step_id (str): The `id` of the current step or `null` if the upgrade is not active. + details (str): The detailed reason for the `status`. + mode (str): Mode that the upgrade is in. Valid values are `check-only`, `interactive`, `semi-interactive`, and `one-click`. The `check_only` mode is deprecated. Use `/software-checks`. In this mode, the upgrade only runs pre-upgrade checks and returns. In `interactive` mode, the upgrade pauses at several points, at which users must enter certain commands to proceed. In `semi-interactive` mode, the upgrade pauses if there are any upgrade check failures, and functions like `one-click` mode otherwise. In `one-click` mode, the upgrade proceeds automatically without pausing. + override_checks (list[OverrideCheck]): A list of upgrade checks whose failure is overridden during the upgrade. If any optional `args` are provided, they are validated later when the corresponding check script runs. + software (Reference): Referenced `software` to which the upgrade belongs. + status (str): Status of the upgrade. Valid values are `installing`, `paused`, `aborting`, `aborted`, and `finished`. A status of `installing` indicates that the upgrade is running. A status of `paused` indicates that the upgrade is paused and waiting for user input. A status of `aborting` indicates that the upgrade is being aborted. A status of `aborted` indicates that the upgrade has stopped due to an abort. A status of `finished` indicates that the upgrade has finished successfully. + """ + if id is not None: + self.id = id + if name is not None: + self.name = name + if start_time is not None: + self.start_time = start_time + if end_time is not None: + self.end_time = end_time + if current_step_id is not None: + self.current_step_id = current_step_id + if details is not None: + self.details = details + if mode is not None: + self.mode = mode + if override_checks is not None: + self.override_checks = override_checks + if software is not None: + self.software = software + if status is not None: + self.status = status + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwareInstallations`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwareInstallations`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwareInstallations`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwareInstallations`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(SoftwareInstallations, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, SoftwareInstallations): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/software_installations_get_response.py b/pypureclient/flasharray/FA_2_26/models/software_installations_get_response.py new file mode 100644 index 000000000..395d7f310 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/software_installations_get_response.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class SoftwareInstallationsGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[SoftwareInstallation]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.SoftwareInstallation] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[SoftwareInstallation]) + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwareInstallationsGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwareInstallationsGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwareInstallationsGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwareInstallationsGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(SoftwareInstallationsGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, SoftwareInstallationsGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/software_installations_response.py b/pypureclient/flasharray/FA_2_26/models/software_installations_response.py new file mode 100644 index 000000000..b73deb497 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/software_installations_response.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class SoftwareInstallationsResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'items': 'list[SoftwareInstallation]' + } + + attribute_map = { + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + items=None, # type: List[models.SoftwareInstallation] + ): + """ + Keyword args: + items (list[SoftwareInstallation]) + """ + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwareInstallationsResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwareInstallationsResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwareInstallationsResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwareInstallationsResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(SoftwareInstallationsResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, SoftwareInstallationsResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/software_patch.py b/pypureclient/flasharray/FA_2_26/models/software_patch.py new file mode 100644 index 000000000..aa4d58dda --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/software_patch.py @@ -0,0 +1,159 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class SoftwarePatch(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'id': 'str', + 'name': 'str', + 'details': 'str', + 'description': 'str', + 'progress': 'float', + 'status': 'str' + } + + attribute_map = { + 'id': 'id', + 'name': 'name', + 'details': 'details', + 'description': 'description', + 'progress': 'progress', + 'status': 'status' + } + + required_args = { + } + + def __init__( + self, + id=None, # type: str + name=None, # type: str + details=None, # type: str + description=None, # type: str + progress=None, # type: float + status=None, # type: str + ): + """ + Keyword args: + id (str): A globally unique, system-generated ID. The ID cannot be modified. + name (str): Name of the resource. The name cannot be modified. + details (str): The detailed reason for the `status`. + description (str): The detailed description of the patch. + progress (float): The progress of the software patch installation, displayed in decimal format. + status (str): The status of the software patch installation. Valid values are `available`, `downloaded`, `downloading`, `download_failed`, `installing`, `installed`, `failed`, and `not_applicable`. A status of `available` indicates that the patch is available for download. A status of `downloaded` indicates that the patch has been downloaded and will be installed. A status of `downloading` indicates that the patch is currently downloading. A status of `download_failed` indicates that the download of the patch failed. A status of `installing` indicates that the patch is currently being installed. A status of `installed` indicates that the patch has been installed. A status of `failed` indicates that the patch failed to be installed. A status of `not_applicable` indicates the patch does not need to be installed on the array. + """ + if id is not None: + self.id = id + if name is not None: + self.name = name + if details is not None: + self.details = details + if description is not None: + self.description = description + if progress is not None: + self.progress = progress + if status is not None: + self.status = status + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwarePatch`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwarePatch`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwarePatch`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwarePatch`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(SoftwarePatch, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, SoftwarePatch): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/software_patches.py b/pypureclient/flasharray/FA_2_26/models/software_patches.py new file mode 100644 index 000000000..c57c748f3 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/software_patches.py @@ -0,0 +1,159 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class SoftwarePatches(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'id': 'str', + 'name': 'str', + 'details': 'str', + 'description': 'str', + 'progress': 'float', + 'status': 'str' + } + + attribute_map = { + 'id': 'id', + 'name': 'name', + 'details': 'details', + 'description': 'description', + 'progress': 'progress', + 'status': 'status' + } + + required_args = { + } + + def __init__( + self, + id=None, # type: str + name=None, # type: str + details=None, # type: str + description=None, # type: str + progress=None, # type: float + status=None, # type: str + ): + """ + Keyword args: + id (str): A globally unique, system-generated ID. The ID cannot be modified. + name (str): Name of the resource. The name cannot be modified. + details (str): The detailed reason for the `status`. + description (str): The detailed description of the patch. + progress (float): The progress of the software patch installation, displayed in decimal format. + status (str): The status of the software patch installation. Valid values are `available`, `downloaded`, `downloading`, `download_failed`, `installing`, `installed`, `failed`, and `not_applicable`. A status of `available` indicates that the patch is available for download. A status of `downloaded` indicates that the patch has been downloaded and will be installed. A status of `downloading` indicates that the patch is currently downloading. A status of `download_failed` indicates that the download of the patch failed. A status of `installing` indicates that the patch is currently being installed. A status of `installed` indicates that the patch has been installed. A status of `failed` indicates that the patch failed to be installed. A status of `not_applicable` indicates the patch does not need to be installed on the array. + """ + if id is not None: + self.id = id + if name is not None: + self.name = name + if details is not None: + self.details = details + if description is not None: + self.description = description + if progress is not None: + self.progress = progress + if status is not None: + self.status = status + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwarePatches`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwarePatches`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwarePatches`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwarePatches`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(SoftwarePatches, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, SoftwarePatches): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/software_patches_get_response.py b/pypureclient/flasharray/FA_2_26/models/software_patches_get_response.py new file mode 100644 index 000000000..95b9eb7a0 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/software_patches_get_response.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class SoftwarePatchesGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[SoftwarePatch]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.SoftwarePatch] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[SoftwarePatch]) + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwarePatchesGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwarePatchesGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwarePatchesGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwarePatchesGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(SoftwarePatchesGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, SoftwarePatchesGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/software_patches_response.py b/pypureclient/flasharray/FA_2_26/models/software_patches_response.py new file mode 100644 index 000000000..42ad6e9b1 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/software_patches_response.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class SoftwarePatchesResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'items': 'list[SoftwarePatch]' + } + + attribute_map = { + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + items=None, # type: List[models.SoftwarePatch] + ): + """ + Keyword args: + items (list[SoftwarePatch]) + """ + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwarePatchesResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwarePatchesResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwarePatchesResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwarePatchesResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(SoftwarePatchesResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, SoftwarePatchesResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/software_post.py b/pypureclient/flasharray/FA_2_26/models/software_post.py new file mode 100644 index 000000000..52f066e60 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/software_post.py @@ -0,0 +1,135 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class SoftwarePost(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'name': 'str', + 'version': 'str' + } + + attribute_map = { + 'name': 'name', + 'version': 'version' + } + + required_args = { + } + + def __init__( + self, + name=None, # type: str + version=None, # type: str + ): + """ + Keyword args: + name (str): The name of the software. + version (str): The version of the software. + """ + if name is not None: + self.name = name + if version is not None: + self.version = version + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwarePost`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwarePost`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwarePost`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwarePost`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(SoftwarePost, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, SoftwarePost): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/software_response.py b/pypureclient/flasharray/FA_2_26/models/software_response.py new file mode 100644 index 000000000..510c7aa39 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/software_response.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class SoftwareResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'items': 'list[Software]' + } + + attribute_map = { + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + items=None, # type: List[models.Software] + ): + """ + Keyword args: + items (list[Software]) + """ + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwareResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwareResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwareResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwareResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(SoftwareResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, SoftwareResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/software_upgrade_plan.py b/pypureclient/flasharray/FA_2_26/models/software_upgrade_plan.py new file mode 100644 index 000000000..67cd0ea59 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/software_upgrade_plan.py @@ -0,0 +1,141 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class SoftwareUpgradePlan(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'step_name': 'str', + 'description': 'str', + 'hop_version': 'str' + } + + attribute_map = { + 'step_name': 'step_name', + 'description': 'description', + 'hop_version': 'hop_version' + } + + required_args = { + } + + def __init__( + self, + step_name=None, # type: str + description=None, # type: str + hop_version=None, # type: str + ): + """ + Keyword args: + step_name (str): Name of the upgrade step. + description (str): Description of the upgrade step. + hop_version (str): The version to which the step is upgrading. + """ + if step_name is not None: + self.step_name = step_name + if description is not None: + self.description = description + if hop_version is not None: + self.hop_version = hop_version + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwareUpgradePlan`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwareUpgradePlan`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwareUpgradePlan`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwareUpgradePlan`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(SoftwareUpgradePlan, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, SoftwareUpgradePlan): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/software_version.py b/pypureclient/flasharray/FA_2_26/models/software_version.py new file mode 100644 index 000000000..f706a01db --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/software_version.py @@ -0,0 +1,153 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class SoftwareVersion(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'details': 'str', + 'name': 'str', + 'release_family': 'str', + 'upgrade_hops': 'list[str]', + 'version': 'str' + } + + attribute_map = { + 'details': 'details', + 'name': 'name', + 'release_family': 'release_family', + 'upgrade_hops': 'upgrade_hops', + 'version': 'version' + } + + required_args = { + } + + def __init__( + self, + details=None, # type: str + name=None, # type: str + release_family=None, # type: str + upgrade_hops=None, # type: List[str] + version=None, # type: str + ): + """ + Keyword args: + details (str): The description of the version. + name (str): The name of the software. + release_family (str): The major and minor release number of the version. + upgrade_hops (list[str]): The list of software versions the upgrade will go through. + version (str): The version of the software. + """ + if details is not None: + self.details = details + if name is not None: + self.name = name + if release_family is not None: + self.release_family = release_family + if upgrade_hops is not None: + self.upgrade_hops = upgrade_hops + if version is not None: + self.version = version + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwareVersion`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwareVersion`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwareVersion`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwareVersion`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(SoftwareVersion, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, SoftwareVersion): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/software_versions.py b/pypureclient/flasharray/FA_2_26/models/software_versions.py new file mode 100644 index 000000000..1cabab5b5 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/software_versions.py @@ -0,0 +1,153 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class SoftwareVersions(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'details': 'str', + 'name': 'str', + 'release_family': 'str', + 'upgrade_hops': 'list[str]', + 'version': 'str' + } + + attribute_map = { + 'details': 'details', + 'name': 'name', + 'release_family': 'release_family', + 'upgrade_hops': 'upgrade_hops', + 'version': 'version' + } + + required_args = { + } + + def __init__( + self, + details=None, # type: str + name=None, # type: str + release_family=None, # type: str + upgrade_hops=None, # type: List[str] + version=None, # type: str + ): + """ + Keyword args: + details (str): The description of the version. + name (str): The name of the software. + release_family (str): The major and minor release number of the version. + upgrade_hops (list[str]): The list of software versions the upgrade will go through. + version (str): The version of the software. + """ + if details is not None: + self.details = details + if name is not None: + self.name = name + if release_family is not None: + self.release_family = release_family + if upgrade_hops is not None: + self.upgrade_hops = upgrade_hops + if version is not None: + self.version = version + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwareVersions`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwareVersions`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwareVersions`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwareVersions`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(SoftwareVersions, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, SoftwareVersions): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/software_versions_get_response.py b/pypureclient/flasharray/FA_2_26/models/software_versions_get_response.py new file mode 100644 index 000000000..93846fd2a --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/software_versions_get_response.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class SoftwareVersionsGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[SoftwareVersion]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.SoftwareVersion] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[SoftwareVersion]) + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwareVersionsGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwareVersionsGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwareVersionsGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwareVersionsGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(SoftwareVersionsGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, SoftwareVersionsGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/software_versions_response.py b/pypureclient/flasharray/FA_2_26/models/software_versions_response.py new file mode 100644 index 000000000..7a7ec504c --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/software_versions_response.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class SoftwareVersionsResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'items': 'list[SoftwareVersion]' + } + + attribute_map = { + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + items=None, # type: List[models.SoftwareVersion] + ): + """ + Keyword args: + items (list[SoftwareVersion]) + """ + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwareVersionsResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwareVersionsResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwareVersionsResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SoftwareVersionsResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(SoftwareVersionsResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, SoftwareVersionsResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/space.py b/pypureclient/flasharray/FA_2_26/models/space.py new file mode 100644 index 000000000..039bad928 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/space.py @@ -0,0 +1,227 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class Space(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'data_reduction': 'float', + 'shared': 'int', + 'snapshots': 'int', + 'system': 'int', + 'thin_provisioning': 'float', + 'total_physical': 'int', + 'total_provisioned': 'int', + 'total_reduction': 'float', + 'unique': 'int', + 'virtual': 'int', + 'used_provisioned': 'int', + 'total_used': 'int' + } + + attribute_map = { + 'data_reduction': 'data_reduction', + 'shared': 'shared', + 'snapshots': 'snapshots', + 'system': 'system', + 'thin_provisioning': 'thin_provisioning', + 'total_physical': 'total_physical', + 'total_provisioned': 'total_provisioned', + 'total_reduction': 'total_reduction', + 'unique': 'unique', + 'virtual': 'virtual', + 'used_provisioned': 'used_provisioned', + 'total_used': 'total_used' + } + + required_args = { + } + + def __init__( + self, + data_reduction=None, # type: float + shared=None, # type: int + snapshots=None, # type: int + system=None, # type: int + thin_provisioning=None, # type: float + total_physical=None, # type: int + total_provisioned=None, # type: int + total_reduction=None, # type: float + unique=None, # type: int + virtual=None, # type: int + used_provisioned=None, # type: int + total_used=None, # type: int + ): + """ + Keyword args: + data_reduction (float): The ratio of mapped sectors within a volume versus the amount of physical space the data occupies after data compression and deduplication. The data reduction ratio does not include thin provisioning savings. For example, a data reduction ratio of 5:1 means that for every 5 MB the host writes to the array, 1 MB is stored on the array's flash modules. + shared (int): The physical space occupied by deduplicated data, meaning that the space is shared with other volumes and snapshots as a result of data deduplication. Measured in bytes. On Evergreen//One arrays, this is the effective space contributed by data that is not unique to a specific volume, managed directory, or snapshot, measured in bytes. + snapshots (int): The physical space occupied by data unique to one or more snapshots. Measured in bytes. On Evergreen//One arrays, this is the effective space contributed by data unique to one or more snapshots, measured in bytes. + system (int): The physical space occupied by internal array metadata. Measured in bytes. + thin_provisioning (float): The percentage of volume sectors that do not contain host-written data because the hosts have not written data to them or the sectors have been explicitly trimmed. + total_physical (int): This field has been deprecated. Please use the `total_used` field, as it contains the same information. + total_provisioned (int): The provisioned size of a volume for a single volume, host or host group, protocol endpoint, managed directory, and containers can be infinite or measured in bytes. Infinite is represented by `null`. The provisioned size for a host or host group, includes all volumes that are connected to the resource. The provisioned size for a protocol endpoint is `null'. The provisioned size for a managed directory is the quota limit if it or its parent has a managed directory configured, otherwise it defaults to `null`. The provisioned size for a container is the sum of the total_provisioned of the object it contains, capped by the container's quota limit (or the container's used_provisioned if current usage is above the quota limit), if any. Provisioned size represents the storage capacity reported to hosts. + total_reduction (float): The ratio of provisioned sectors within a volume versus the amount of physical space the data occupies after reduction via data compression and deduplication and with thin provisioning savings. Total reduction is data reduction with thin provisioning savings. For example, a total reduction ratio of 10:1 means that for every 10 MB of provisioned space, 1 MB is stored on the array's flash modules. + unique (int): The unique physical space occupied by customer data. Unique physical space does not include shared space, snapshots, and internal array metadata. Measured in bytes. On Evergreen//One arrays, this is the effective space contributed by unique customer data, measured in bytes. Unique data does not include shared space, snapshots, and internal array metadata. + virtual (int): The amount of logically written data that a volume or a snapshot references. Measured in bytes. + used_provisioned (int): The amount of logical space a container has consumed. The amount of logical space is compared against the quota limit if the container has one configured. Used provisioned does not include destroyed objects inside the container. For a destroyed container, used provisioned can include destroyed objects and represents how much logical space it would take to recover the container. + total_used (int): The total space contributed by customer data, measured in bytes. + """ + if data_reduction is not None: + self.data_reduction = data_reduction + if shared is not None: + self.shared = shared + if snapshots is not None: + self.snapshots = snapshots + if system is not None: + self.system = system + if thin_provisioning is not None: + self.thin_provisioning = thin_provisioning + if total_physical is not None: + self.total_physical = total_physical + if total_provisioned is not None: + self.total_provisioned = total_provisioned + if total_reduction is not None: + self.total_reduction = total_reduction + if unique is not None: + self.unique = unique + if virtual is not None: + self.virtual = virtual + if used_provisioned is not None: + self.used_provisioned = used_provisioned + if total_used is not None: + self.total_used = total_used + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Space`".format(key)) + if key == "shared" and value is not None: + if value < 0: + raise ValueError("Invalid value for `shared`, must be a value greater than or equal to `0`") + if key == "snapshots" and value is not None: + if value < 0: + raise ValueError("Invalid value for `snapshots`, must be a value greater than or equal to `0`") + if key == "system" and value is not None: + if value < 0: + raise ValueError("Invalid value for `system`, must be a value greater than or equal to `0`") + if key == "thin_provisioning" and value is not None: + if value > 1.0: + raise ValueError("Invalid value for `thin_provisioning`, value must be less than or equal to `1.0`") + if value < 0.0: + raise ValueError("Invalid value for `thin_provisioning`, must be a value greater than or equal to `0.0`") + if key == "total_physical" and value is not None: + if value < 0: + raise ValueError("Invalid value for `total_physical`, must be a value greater than or equal to `0`") + if key == "total_provisioned" and value is not None: + if value < 0: + raise ValueError("Invalid value for `total_provisioned`, must be a value greater than or equal to `0`") + if key == "unique" and value is not None: + if value < 0: + raise ValueError("Invalid value for `unique`, must be a value greater than or equal to `0`") + if key == "virtual" and value is not None: + if value < 0: + raise ValueError("Invalid value for `virtual`, must be a value greater than or equal to `0`") + if key == "used_provisioned" and value is not None: + if value < 0: + raise ValueError("Invalid value for `used_provisioned`, must be a value greater than or equal to `0`") + if key == "total_used" and value is not None: + if value < 0: + raise ValueError("Invalid value for `total_used`, must be a value greater than or equal to `0`") + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Space`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Space`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Space`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(Space, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, Space): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/start_end_time.py b/pypureclient/flasharray/FA_2_26/models/start_end_time.py new file mode 100644 index 000000000..e871186db --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/start_end_time.py @@ -0,0 +1,135 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class StartEndTime(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'start_time': 'int', + 'end_time': 'int' + } + + attribute_map = { + 'start_time': 'start_time', + 'end_time': 'end_time' + } + + required_args = { + } + + def __init__( + self, + start_time=None, # type: int + end_time=None, # type: int + ): + """ + Keyword args: + start_time (int): Start time in milliseconds since the UNIX epoch. + end_time (int): End time in milliseconds since the UNIX epoch. + """ + if start_time is not None: + self.start_time = start_time + if end_time is not None: + self.end_time = end_time + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `StartEndTime`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `StartEndTime`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `StartEndTime`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `StartEndTime`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(StartEndTime, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, StartEndTime): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/subnet.py b/pypureclient/flasharray/FA_2_26/models/subnet.py new file mode 100644 index 000000000..e395e4d0f --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/subnet.py @@ -0,0 +1,176 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class Subnet(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'name': 'str', + 'enabled': 'bool', + 'gateway': 'str', + 'mtu': 'int', + 'prefix': 'str', + 'vlan': 'int', + 'interfaces': 'list[FixedReferenceNoId]', + 'services': 'list[str]' + } + + attribute_map = { + 'name': 'name', + 'enabled': 'enabled', + 'gateway': 'gateway', + 'mtu': 'mtu', + 'prefix': 'prefix', + 'vlan': 'vlan', + 'interfaces': 'interfaces', + 'services': 'services' + } + + required_args = { + } + + def __init__( + self, + name=None, # type: str + enabled=None, # type: bool + gateway=None, # type: str + mtu=None, # type: int + prefix=None, # type: str + vlan=None, # type: int + interfaces=None, # type: List[models.FixedReferenceNoId] + services=None, # type: List[str] + ): + """ + Keyword args: + name (str): A user-specified name. The name must be locally unique and can be changed. + enabled (bool): Returns a value of `true` if subnet is enabled. Returns a value of `false` if subnet is disabled. If not specified, defaults to `true`. + gateway (str): The IPv4 or IPv6 address of the gateway through which the specified subnet is to communicate with the network. + mtu (int): Maximum message transfer unit (packet) size for the subnet in bytes. MTU setting cannot exceed the MTU of the corresponding physical interface. If not specified, defaults to `1500`. + prefix (str): The IPv4 or IPv6 address to be associated with the specified subnet. + vlan (int): VLAN ID number. + interfaces (list[FixedReferenceNoId]): List of network interfaces associated with this subnet. + services (list[str]): The services provided by this subnet, as inherited from all of its interfaces. + """ + if name is not None: + self.name = name + if enabled is not None: + self.enabled = enabled + if gateway is not None: + self.gateway = gateway + if mtu is not None: + self.mtu = mtu + if prefix is not None: + self.prefix = prefix + if vlan is not None: + self.vlan = vlan + if interfaces is not None: + self.interfaces = interfaces + if services is not None: + self.services = services + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Subnet`".format(key)) + if key == "mtu" and value is not None: + if value > 9216: + raise ValueError("Invalid value for `mtu`, value must be less than or equal to `9216`") + if value < 1280: + raise ValueError("Invalid value for `mtu`, must be a value greater than or equal to `1280`") + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Subnet`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Subnet`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Subnet`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(Subnet, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, Subnet): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/subnet_get_response.py b/pypureclient/flasharray/FA_2_26/models/subnet_get_response.py new file mode 100644 index 000000000..083fcb7e4 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/subnet_get_response.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class SubnetGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[Subnet]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.Subnet] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[Subnet]) + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SubnetGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SubnetGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SubnetGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SubnetGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(SubnetGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, SubnetGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/subnet_patch.py b/pypureclient/flasharray/FA_2_26/models/subnet_patch.py new file mode 100644 index 000000000..b323e3dcf --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/subnet_patch.py @@ -0,0 +1,164 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class SubnetPatch(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'name': 'str', + 'enabled': 'bool', + 'gateway': 'str', + 'mtu': 'int', + 'prefix': 'str', + 'vlan': 'int' + } + + attribute_map = { + 'name': 'name', + 'enabled': 'enabled', + 'gateway': 'gateway', + 'mtu': 'mtu', + 'prefix': 'prefix', + 'vlan': 'vlan' + } + + required_args = { + } + + def __init__( + self, + name=None, # type: str + enabled=None, # type: bool + gateway=None, # type: str + mtu=None, # type: int + prefix=None, # type: str + vlan=None, # type: int + ): + """ + Keyword args: + name (str): A user-specified name. The name must be locally unique and can be changed. + enabled (bool): Returns a value of `true` if subnet is enabled. Returns a value of `false` if subnet is disabled. If not specified, defaults to `true`. + gateway (str): The IPv4 or IPv6 address of the gateway through which the specified subnet is to communicate with the network. + mtu (int): Maximum message transfer unit (packet) size for the subnet in bytes. MTU setting cannot exceed the MTU of the corresponding physical interface. If not specified, defaults to `1500`. + prefix (str): The IPv4 or IPv6 address to be associated with the specified subnet. + vlan (int): VLAN ID number. + """ + if name is not None: + self.name = name + if enabled is not None: + self.enabled = enabled + if gateway is not None: + self.gateway = gateway + if mtu is not None: + self.mtu = mtu + if prefix is not None: + self.prefix = prefix + if vlan is not None: + self.vlan = vlan + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SubnetPatch`".format(key)) + if key == "mtu" and value is not None: + if value > 9216: + raise ValueError("Invalid value for `mtu`, value must be less than or equal to `9216`") + if value < 1280: + raise ValueError("Invalid value for `mtu`, must be a value greater than or equal to `1280`") + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SubnetPatch`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SubnetPatch`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SubnetPatch`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(SubnetPatch, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, SubnetPatch): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/subnet_post.py b/pypureclient/flasharray/FA_2_26/models/subnet_post.py new file mode 100644 index 000000000..f659f2499 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/subnet_post.py @@ -0,0 +1,158 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class SubnetPost(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'enabled': 'bool', + 'gateway': 'str', + 'mtu': 'int', + 'prefix': 'str', + 'vlan': 'int' + } + + attribute_map = { + 'enabled': 'enabled', + 'gateway': 'gateway', + 'mtu': 'mtu', + 'prefix': 'prefix', + 'vlan': 'vlan' + } + + required_args = { + } + + def __init__( + self, + enabled=None, # type: bool + gateway=None, # type: str + mtu=None, # type: int + prefix=None, # type: str + vlan=None, # type: int + ): + """ + Keyword args: + enabled (bool): Returns a value of `true` if subnet is enabled. Returns a value of `false` if subnet is disabled. If not specified, defaults to `true`. + gateway (str): The IPv4 or IPv6 address of the gateway through which the specified subnet is to communicate with the network. + mtu (int): Maximum message transfer unit (packet) size for the subnet in bytes. MTU setting cannot exceed the MTU of the corresponding physical interface. If not specified, defaults to `1500`. + prefix (str): The IPv4 or IPv6 address to be associated with the specified subnet. + vlan (int): VLAN ID number. + """ + if enabled is not None: + self.enabled = enabled + if gateway is not None: + self.gateway = gateway + if mtu is not None: + self.mtu = mtu + if prefix is not None: + self.prefix = prefix + if vlan is not None: + self.vlan = vlan + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SubnetPost`".format(key)) + if key == "mtu" and value is not None: + if value > 9216: + raise ValueError("Invalid value for `mtu`, value must be less than or equal to `9216`") + if value < 1280: + raise ValueError("Invalid value for `mtu`, must be a value greater than or equal to `1280`") + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SubnetPost`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SubnetPost`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SubnetPost`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(SubnetPost, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, SubnetPost): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/subnet_response.py b/pypureclient/flasharray/FA_2_26/models/subnet_response.py new file mode 100644 index 000000000..7cb720c09 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/subnet_response.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class SubnetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'items': 'list[Subnet]' + } + + attribute_map = { + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + items=None, # type: List[models.Subnet] + ): + """ + Keyword args: + items (list[Subnet]) + """ + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SubnetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SubnetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SubnetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SubnetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(SubnetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, SubnetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/subscription.py b/pypureclient/flasharray/FA_2_26/models/subscription.py new file mode 100644 index 000000000..6bb902054 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/subscription.py @@ -0,0 +1,135 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class Subscription(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'id': 'str', + 'service': 'str' + } + + attribute_map = { + 'id': 'id', + 'service': 'service' + } + + required_args = { + } + + def __init__( + self, + id=None, # type: str + service=None, # type: str + ): + """ + Keyword args: + id (str): A globally unique, system-generated ID. The ID cannot be modified. + service (str): The service type of the subscription. + """ + if id is not None: + self.id = id + if service is not None: + self.service = service + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Subscription`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Subscription`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Subscription`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Subscription`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(Subscription, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, Subscription): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/subscription_asset.py b/pypureclient/flasharray/FA_2_26/models/subscription_asset.py new file mode 100644 index 000000000..ee95509dc --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/subscription_asset.py @@ -0,0 +1,141 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class SubscriptionAsset(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'id': 'str', + 'name': 'str', + 'subscription': 'SubscriptionAssetSubscription' + } + + attribute_map = { + 'id': 'id', + 'name': 'name', + 'subscription': 'subscription' + } + + required_args = { + } + + def __init__( + self, + id=None, # type: str + name=None, # type: str + subscription=None, # type: models.SubscriptionAssetSubscription + ): + """ + Keyword args: + id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. + name (str): A user-specified name. The name must be locally unique and can be changed. + subscription (SubscriptionAssetSubscription) + """ + if id is not None: + self.id = id + if name is not None: + self.name = name + if subscription is not None: + self.subscription = subscription + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SubscriptionAsset`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SubscriptionAsset`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SubscriptionAsset`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SubscriptionAsset`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(SubscriptionAsset, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, SubscriptionAsset): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/subscription_asset_get_response.py b/pypureclient/flasharray/FA_2_26/models/subscription_asset_get_response.py new file mode 100644 index 000000000..d7e63d754 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/subscription_asset_get_response.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class SubscriptionAssetGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[SubscriptionAsset]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.SubscriptionAsset] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[SubscriptionAsset]) + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SubscriptionAssetGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SubscriptionAssetGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SubscriptionAssetGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SubscriptionAssetGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(SubscriptionAssetGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, SubscriptionAssetGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/subscription_asset_response.py b/pypureclient/flasharray/FA_2_26/models/subscription_asset_response.py new file mode 100644 index 000000000..de6c29ae6 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/subscription_asset_response.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class SubscriptionAssetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'items': 'list[SubscriptionAsset]' + } + + attribute_map = { + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + items=None, # type: List[models.SubscriptionAsset] + ): + """ + Keyword args: + items (list[SubscriptionAsset]) + """ + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SubscriptionAssetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SubscriptionAssetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SubscriptionAssetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SubscriptionAssetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(SubscriptionAssetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, SubscriptionAssetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/subscription_asset_subscription.py b/pypureclient/flasharray/FA_2_26/models/subscription_asset_subscription.py new file mode 100644 index 000000000..82052a271 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/subscription_asset_subscription.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class SubscriptionAssetSubscription(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'id': 'str' + } + + attribute_map = { + 'id': 'id' + } + + required_args = { + } + + def __init__( + self, + id=None, # type: str + ): + """ + Keyword args: + id (str): A globally unique, system-generated ID. The ID cannot be modified. + """ + if id is not None: + self.id = id + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SubscriptionAssetSubscription`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SubscriptionAssetSubscription`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SubscriptionAssetSubscription`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SubscriptionAssetSubscription`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(SubscriptionAssetSubscription, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, SubscriptionAssetSubscription): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/subscription_get_response.py b/pypureclient/flasharray/FA_2_26/models/subscription_get_response.py new file mode 100644 index 000000000..3aac47a92 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/subscription_get_response.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class SubscriptionGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[Subscription]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.Subscription] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[Subscription]) + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SubscriptionGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SubscriptionGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SubscriptionGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SubscriptionGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(SubscriptionGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, SubscriptionGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/subscription_response.py b/pypureclient/flasharray/FA_2_26/models/subscription_response.py new file mode 100644 index 000000000..dfc8a6b7a --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/subscription_response.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class SubscriptionResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'items': 'list[Subscription]' + } + + attribute_map = { + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + items=None, # type: List[models.Subscription] + ): + """ + Keyword args: + items (list[Subscription]) + """ + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SubscriptionResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SubscriptionResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SubscriptionResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SubscriptionResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(SubscriptionResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, SubscriptionResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/support.py b/pypureclient/flasharray/FA_2_26/models/support.py new file mode 100644 index 000000000..8ecf2d99c --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/support.py @@ -0,0 +1,165 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class Support(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'phonehome_enabled': 'bool', + 'proxy': 'str', + 'remote_assist_active': 'bool', + 'remote_assist_opened': 'int', + 'remote_assist_expires': 'int', + 'remote_assist_status': 'str', + 'remote_assist_paths': 'list[SupportRemoteAssistPaths]' + } + + attribute_map = { + 'phonehome_enabled': 'phonehome_enabled', + 'proxy': 'proxy', + 'remote_assist_active': 'remote_assist_active', + 'remote_assist_opened': 'remote_assist_opened', + 'remote_assist_expires': 'remote_assist_expires', + 'remote_assist_status': 'remote_assist_status', + 'remote_assist_paths': 'remote_assist_paths' + } + + required_args = { + } + + def __init__( + self, + phonehome_enabled=None, # type: bool + proxy=None, # type: str + remote_assist_active=None, # type: bool + remote_assist_opened=None, # type: int + remote_assist_expires=None, # type: int + remote_assist_status=None, # type: str + remote_assist_paths=None, # type: List[models.SupportRemoteAssistPaths] + ): + """ + Keyword args: + phonehome_enabled (bool): The status of phonehome. If set to `true`, enables phonehome. If set to `false`, disables phonehome. + proxy (str): The value of the current proxy, which is used to connect to cloud services such as phonehome and remote assist. Specify the server name, including the scheme and proxy port number. + remote_assist_active (bool): The status of the remote assist session. If set to `true`, enables the remote assist session. If set to `false`, disables the remote assist session. + remote_assist_opened (int): The timestamp when the session opened, measured in milliseconds since the UNIX epoch. + remote_assist_expires (int): The timestamp when the session expires, measured in milliseconds since the UNIX epoch. + remote_assist_status (str): The status of the remote assist session. Values include `connected`, `connecting`, `disconnected`, and `session-active`. + remote_assist_paths (list[SupportRemoteAssistPaths]) + """ + if phonehome_enabled is not None: + self.phonehome_enabled = phonehome_enabled + if proxy is not None: + self.proxy = proxy + if remote_assist_active is not None: + self.remote_assist_active = remote_assist_active + if remote_assist_opened is not None: + self.remote_assist_opened = remote_assist_opened + if remote_assist_expires is not None: + self.remote_assist_expires = remote_assist_expires + if remote_assist_status is not None: + self.remote_assist_status = remote_assist_status + if remote_assist_paths is not None: + self.remote_assist_paths = remote_assist_paths + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Support`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Support`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Support`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Support`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(Support, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, Support): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/support_get_response.py b/pypureclient/flasharray/FA_2_26/models/support_get_response.py new file mode 100644 index 000000000..76a1c0909 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/support_get_response.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class SupportGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[Support]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.Support] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[Support]) + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SupportGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SupportGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SupportGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SupportGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(SupportGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, SupportGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/support_patch.py b/pypureclient/flasharray/FA_2_26/models/support_patch.py new file mode 100644 index 000000000..358dfbacb --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/support_patch.py @@ -0,0 +1,141 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class SupportPatch(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'phonehome_enabled': 'bool', + 'proxy': 'str', + 'remote_assist_active': 'bool' + } + + attribute_map = { + 'phonehome_enabled': 'phonehome_enabled', + 'proxy': 'proxy', + 'remote_assist_active': 'remote_assist_active' + } + + required_args = { + } + + def __init__( + self, + phonehome_enabled=None, # type: bool + proxy=None, # type: str + remote_assist_active=None, # type: bool + ): + """ + Keyword args: + phonehome_enabled (bool): The status of phonehome. If set to `true`, enable phonehome. If set to `false`, disable phonehome. + proxy (str): The value of the current proxy, which is used for connecting to cloud services such as phonehome, remote assist, etc. Specify the server name, including the scheme and proxy port number. + remote_assist_active (bool): The status of a remote assist session. If set to `true`, enable the remote assist session. If set to `false`, disable the remote assist session. + """ + if phonehome_enabled is not None: + self.phonehome_enabled = phonehome_enabled + if proxy is not None: + self.proxy = proxy + if remote_assist_active is not None: + self.remote_assist_active = remote_assist_active + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SupportPatch`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SupportPatch`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SupportPatch`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SupportPatch`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(SupportPatch, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, SupportPatch): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/support_remote_assist_paths.py b/pypureclient/flasharray/FA_2_26/models/support_remote_assist_paths.py new file mode 100644 index 000000000..a2e47e3e4 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/support_remote_assist_paths.py @@ -0,0 +1,135 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class SupportRemoteAssistPaths(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'component_name': 'str', + 'status': 'str' + } + + attribute_map = { + 'component_name': 'component_name', + 'status': 'status' + } + + required_args = { + } + + def __init__( + self, + component_name=None, # type: str + status=None, # type: str + ): + """ + Keyword args: + component_name (str): The name of the local controller that is running the remote assist session. + status (str): The status of the remote assist session on the local controller. Values include `connected`, `connecting`, `disconnected`, and `session-active`. + """ + if component_name is not None: + self.component_name = component_name + if status is not None: + self.status = status + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SupportRemoteAssistPaths`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SupportRemoteAssistPaths`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SupportRemoteAssistPaths`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SupportRemoteAssistPaths`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(SupportRemoteAssistPaths, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, SupportRemoteAssistPaths): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/support_response.py b/pypureclient/flasharray/FA_2_26/models/support_response.py new file mode 100644 index 000000000..ca2431380 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/support_response.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class SupportResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'items': 'list[Support]' + } + + attribute_map = { + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + items=None, # type: List[models.Support] + ): + """ + Keyword args: + items (list[Support]) + """ + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SupportResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SupportResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SupportResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SupportResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(SupportResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, SupportResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/syslog_server.py b/pypureclient/flasharray/FA_2_26/models/syslog_server.py new file mode 100644 index 000000000..18d21ec23 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/syslog_server.py @@ -0,0 +1,135 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class SyslogServer(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'name': 'str', + 'uri': 'str' + } + + attribute_map = { + 'name': 'name', + 'uri': 'uri' + } + + required_args = { + } + + def __init__( + self, + name=None, # type: str + uri=None, # type: str + ): + """ + Keyword args: + name (str): A user-specified name. The name must be locally unique and cannot be changed. + uri (str): The URI of the syslog server in the format `PROTOCOL://HOSTNAME:PORT`. + """ + if name is not None: + self.name = name + if uri is not None: + self.uri = uri + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SyslogServer`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SyslogServer`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SyslogServer`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SyslogServer`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(SyslogServer, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, SyslogServer): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/syslog_server_get_response.py b/pypureclient/flasharray/FA_2_26/models/syslog_server_get_response.py new file mode 100644 index 000000000..ea97da459 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/syslog_server_get_response.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class SyslogServerGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[SyslogServer]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.SyslogServer] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[SyslogServer]) + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SyslogServerGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SyslogServerGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SyslogServerGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SyslogServerGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(SyslogServerGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, SyslogServerGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/syslog_server_response.py b/pypureclient/flasharray/FA_2_26/models/syslog_server_response.py new file mode 100644 index 000000000..51399cd48 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/syslog_server_response.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class SyslogServerResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'items': 'list[SyslogServer]' + } + + attribute_map = { + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + items=None, # type: List[models.SyslogServer] + ): + """ + Keyword args: + items (list[SyslogServer]) + """ + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SyslogServerResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SyslogServerResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SyslogServerResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SyslogServerResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(SyslogServerResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, SyslogServerResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/syslog_server_settings.py b/pypureclient/flasharray/FA_2_26/models/syslog_server_settings.py new file mode 100644 index 000000000..6310bff49 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/syslog_server_settings.py @@ -0,0 +1,141 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class SyslogServerSettings(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'ca_certificate': 'str', + 'tls_audit_enabled': 'bool', + 'logging_severity': 'str' + } + + attribute_map = { + 'ca_certificate': 'ca_certificate', + 'tls_audit_enabled': 'tls_audit_enabled', + 'logging_severity': 'logging_severity' + } + + required_args = { + } + + def __init__( + self, + ca_certificate=None, # type: str + tls_audit_enabled=None, # type: bool + logging_severity=None, # type: str + ): + """ + Keyword args: + ca_certificate (str): The certificate of the certificate authority (CA) that signed the directory servers' certificate(s), which is used to validate the authenticity of the configured servers. + tls_audit_enabled (bool): Returns a value of `true` if messages that are necessary in order to audit TLS negotiations performed by the array are forwarded to the configured syslog servers. + logging_severity (str): Returns the configured logging severity threshold for which events will be forwarded to the configured syslog servers. Default configuration is info level severity. Valid values are `debug`, `info`, and `notice`. + """ + if ca_certificate is not None: + self.ca_certificate = ca_certificate + if tls_audit_enabled is not None: + self.tls_audit_enabled = tls_audit_enabled + if logging_severity is not None: + self.logging_severity = logging_severity + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SyslogServerSettings`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SyslogServerSettings`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SyslogServerSettings`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SyslogServerSettings`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(SyslogServerSettings, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, SyslogServerSettings): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/syslog_server_settings_get_response.py b/pypureclient/flasharray/FA_2_26/models/syslog_server_settings_get_response.py new file mode 100644 index 000000000..4c2dc41f5 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/syslog_server_settings_get_response.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class SyslogServerSettingsGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[SyslogServerSettings]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.SyslogServerSettings] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[SyslogServerSettings]) + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SyslogServerSettingsGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SyslogServerSettingsGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SyslogServerSettingsGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SyslogServerSettingsGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(SyslogServerSettingsGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, SyslogServerSettingsGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/syslog_server_settings_response.py b/pypureclient/flasharray/FA_2_26/models/syslog_server_settings_response.py new file mode 100644 index 000000000..0fec18d3d --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/syslog_server_settings_response.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class SyslogServerSettingsResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'items': 'list[SyslogServerSettings]' + } + + attribute_map = { + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + items=None, # type: List[models.SyslogServerSettings] + ): + """ + Keyword args: + items (list[SyslogServerSettings]) + """ + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SyslogServerSettingsResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SyslogServerSettingsResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SyslogServerSettingsResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `SyslogServerSettingsResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(SyslogServerSettingsResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, SyslogServerSettingsResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/tag.py b/pypureclient/flasharray/FA_2_26/models/tag.py new file mode 100644 index 000000000..0c50ea46b --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/tag.py @@ -0,0 +1,153 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class Tag(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'copyable': 'bool', + 'key': 'str', + 'namespace': 'str', + 'resource': 'FixedReference', + 'value': 'str' + } + + attribute_map = { + 'copyable': 'copyable', + 'key': 'key', + 'namespace': 'namespace', + 'resource': 'resource', + 'value': 'value' + } + + required_args = { + } + + def __init__( + self, + copyable=None, # type: bool + key=None, # type: str + namespace=None, # type: str + resource=None, # type: models.FixedReference + value=None, # type: str + ): + """ + Keyword args: + copyable (bool): Specifies whether or not to include the tag when copying the parent resource. If set to `true`, the tag is included in resource copying. If set to `false`, the tag is not included. If not specified, defaults to `true`. + key (str): Key of the tag. Supports up to 64 Unicode characters. + namespace (str): Optional namespace of the tag. Namespace identifies the category of the tag. Omitting the namespace defaults to the namespace `default`. The `pure*` namespaces are reserved for plugins and integration partners. It is recommended that customers avoid using reserved namespaces. + resource (FixedReference) + value (str): Value of the tag. Supports up to 256 Unicode characters. + """ + if copyable is not None: + self.copyable = copyable + if key is not None: + self.key = key + if namespace is not None: + self.namespace = namespace + if resource is not None: + self.resource = resource + if value is not None: + self.value = value + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Tag`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Tag`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Tag`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Tag`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(Tag, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, Tag): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/tag_get_response.py b/pypureclient/flasharray/FA_2_26/models/tag_get_response.py new file mode 100644 index 000000000..e6374a619 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/tag_get_response.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class TagGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[Tag]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.Tag] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[Tag]) + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `TagGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `TagGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `TagGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `TagGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(TagGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, TagGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/tag_response.py b/pypureclient/flasharray/FA_2_26/models/tag_response.py new file mode 100644 index 000000000..499f92b11 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/tag_response.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class TagResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'items': 'list[Tag]' + } + + attribute_map = { + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + items=None, # type: List[models.Tag] + ): + """ + Keyword args: + items (list[Tag]) + """ + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `TagResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `TagResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `TagResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `TagResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(TagResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, TagResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/target_protection_group.py b/pypureclient/flasharray/FA_2_26/models/target_protection_group.py new file mode 100644 index 000000000..e385af271 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/target_protection_group.py @@ -0,0 +1,141 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class TargetProtectionGroup(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'group': 'Reference', + 'member': 'ReferenceNoId', + 'allowed': 'bool' + } + + attribute_map = { + 'group': 'group', + 'member': 'member', + 'allowed': 'allowed' + } + + required_args = { + } + + def __init__( + self, + group=None, # type: models.Reference + member=None, # type: models.ReferenceNoId + allowed=None, # type: bool + ): + """ + Keyword args: + group (Reference) + member (ReferenceNoId) + allowed (bool): If set to `true`, the target array has allowed the source array to replicate protection group data to the target array. If set to `false`, the target array has not allowed the source array to replicate protection group data to the target. + """ + if group is not None: + self.group = group + if member is not None: + self.member = member + if allowed is not None: + self.allowed = allowed + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `TargetProtectionGroup`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `TargetProtectionGroup`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `TargetProtectionGroup`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `TargetProtectionGroup`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(TargetProtectionGroup, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, TargetProtectionGroup): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/target_protection_group_post_patch.py b/pypureclient/flasharray/FA_2_26/models/target_protection_group_post_patch.py new file mode 100644 index 000000000..d65def549 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/target_protection_group_post_patch.py @@ -0,0 +1,141 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class TargetProtectionGroupPostPatch(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'protection_group': 'FixedReference', + 'target': 'FixedReferenceNoId', + 'allowed': 'bool' + } + + attribute_map = { + 'protection_group': 'protection_group', + 'target': 'target', + 'allowed': 'allowed' + } + + required_args = { + } + + def __init__( + self, + protection_group=None, # type: models.FixedReference + target=None, # type: models.FixedReferenceNoId + allowed=None, # type: bool + ): + """ + Keyword args: + protection_group (FixedReference) + target (FixedReferenceNoId) + allowed (bool): If set to `true`, the target array has allowed the source array to replicate protection group data to the target array. If set to `false`, the target array has not allowed the source array to replicate protection group data to the target. + """ + if protection_group is not None: + self.protection_group = protection_group + if target is not None: + self.target = target + if allowed is not None: + self.allowed = allowed + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `TargetProtectionGroupPostPatch`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `TargetProtectionGroupPostPatch`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `TargetProtectionGroupPostPatch`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `TargetProtectionGroupPostPatch`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(TargetProtectionGroupPostPatch, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, TargetProtectionGroupPostPatch): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/test_result.py b/pypureclient/flasharray/FA_2_26/models/test_result.py new file mode 100644 index 000000000..109beb664 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/test_result.py @@ -0,0 +1,171 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class TestResult(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'component_address': 'str', + 'component_name': 'str', + 'description': 'str', + 'destination': 'str', + 'enabled': 'bool', + 'result_details': 'str', + 'success': 'bool', + 'test_type': 'str' + } + + attribute_map = { + 'component_address': 'component_address', + 'component_name': 'component_name', + 'description': 'description', + 'destination': 'destination', + 'enabled': 'enabled', + 'result_details': 'result_details', + 'success': 'success', + 'test_type': 'test_type' + } + + required_args = { + } + + def __init__( + self, + component_address=None, # type: str + component_name=None, # type: str + description=None, # type: str + destination=None, # type: str + enabled=None, # type: bool + result_details=None, # type: str + success=None, # type: bool + test_type=None, # type: str + ): + """ + Keyword args: + component_address (str): Address of the component running the test. + component_name (str): Name of the component running the test. + description (str): What the test is doing. + destination (str): The URI of the target server being tested. + enabled (bool): Whether the object being tested is enabled or not. Returns a value of `true` if the the service is enabled. Returns a value of `false` if the service is disabled. + result_details (str): Additional information about the test result. + success (bool): Whether the object being tested passed the test or not. Returns a value of `true` if the specified test has succeeded. Returns a value of `false` if the specified test has failed. + test_type (str): Displays the type of test being performed. The returned values are determined by the `resource` being tested and its configuration. Values include `array-admin-group-searching`, `binding`, `connecting`, `phonehome`, `phonehome-ping`, `remote-assist`, `rootdse-searching`, `read-only-group-searching`, `storage-admin-group-searching`, and `validate-ntp-configuration`. + """ + if component_address is not None: + self.component_address = component_address + if component_name is not None: + self.component_name = component_name + if description is not None: + self.description = description + if destination is not None: + self.destination = destination + if enabled is not None: + self.enabled = enabled + if result_details is not None: + self.result_details = result_details + if success is not None: + self.success = success + if test_type is not None: + self.test_type = test_type + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `TestResult`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `TestResult`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `TestResult`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `TestResult`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(TestResult, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, TestResult): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/test_result_get_response.py b/pypureclient/flasharray/FA_2_26/models/test_result_get_response.py new file mode 100644 index 000000000..8e87cde0a --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/test_result_get_response.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class TestResultGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[TestResult]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.TestResult] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[TestResult]) + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `TestResultGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `TestResultGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `TestResultGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `TestResultGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(TestResultGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, TestResultGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/test_result_response.py b/pypureclient/flasharray/FA_2_26/models/test_result_response.py new file mode 100644 index 000000000..49d35e030 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/test_result_response.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class TestResultResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'items': 'list[TestResult]' + } + + attribute_map = { + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + items=None, # type: List[models.TestResult] + ): + """ + Keyword args: + items (list[TestResult]) + """ + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `TestResultResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `TestResultResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `TestResultResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `TestResultResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(TestResultResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, TestResultResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/test_result_with_resource.py b/pypureclient/flasharray/FA_2_26/models/test_result_with_resource.py new file mode 100644 index 000000000..4ea534b41 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/test_result_with_resource.py @@ -0,0 +1,177 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class TestResultWithResource(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'component_address': 'str', + 'component_name': 'str', + 'description': 'str', + 'destination': 'str', + 'enabled': 'bool', + 'result_details': 'str', + 'success': 'bool', + 'test_type': 'str', + 'resource': 'FixedReferenceNoId' + } + + attribute_map = { + 'component_address': 'component_address', + 'component_name': 'component_name', + 'description': 'description', + 'destination': 'destination', + 'enabled': 'enabled', + 'result_details': 'result_details', + 'success': 'success', + 'test_type': 'test_type', + 'resource': 'resource' + } + + required_args = { + } + + def __init__( + self, + component_address=None, # type: str + component_name=None, # type: str + description=None, # type: str + destination=None, # type: str + enabled=None, # type: bool + result_details=None, # type: str + success=None, # type: bool + test_type=None, # type: str + resource=None, # type: models.FixedReferenceNoId + ): + """ + Keyword args: + component_address (str): Address of the component running the test. + component_name (str): Name of the component running the test. + description (str): What the test is doing. + destination (str): The URI of the target server being tested. + enabled (bool): Whether the object being tested is enabled or not. Returns a value of `true` if the the service is enabled. Returns a value of `false` if the service is disabled. + result_details (str): Additional information about the test result. + success (bool): Whether the object being tested passed the test or not. Returns a value of `true` if the specified test has succeeded. Returns a value of `false` if the specified test has failed. + test_type (str): Displays the type of test being performed. The returned values are determined by the `resource` being tested and its configuration. Values include `array-admin-group-searching`, `binding`, `connecting`, `phonehome`, `phonehome-ping`, `remote-assist`, `rootdse-searching`, `read-only-group-searching`, `storage-admin-group-searching`, and `validate-ntp-configuration`. + resource (FixedReferenceNoId): A reference to the object being tested. + """ + if component_address is not None: + self.component_address = component_address + if component_name is not None: + self.component_name = component_name + if description is not None: + self.description = description + if destination is not None: + self.destination = destination + if enabled is not None: + self.enabled = enabled + if result_details is not None: + self.result_details = result_details + if success is not None: + self.success = success + if test_type is not None: + self.test_type = test_type + if resource is not None: + self.resource = resource + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `TestResultWithResource`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `TestResultWithResource`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `TestResultWithResource`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `TestResultWithResource`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(TestResultWithResource, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, TestResultWithResource): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/test_result_with_resource_get_response.py b/pypureclient/flasharray/FA_2_26/models/test_result_with_resource_get_response.py new file mode 100644 index 000000000..1b4a29d35 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/test_result_with_resource_get_response.py @@ -0,0 +1,135 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class TestResultWithResourceGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'total_item_count': 'int', + 'items': 'list[TestResultWithResource]' + } + + attribute_map = { + 'total_item_count': 'total_item_count', + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + total_item_count=None, # type: int + items=None, # type: List[models.TestResultWithResource] + ): + """ + Keyword args: + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + items (list[TestResultWithResource]) + """ + if total_item_count is not None: + self.total_item_count = total_item_count + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `TestResultWithResourceGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `TestResultWithResourceGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `TestResultWithResourceGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `TestResultWithResourceGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(TestResultWithResourceGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, TestResultWithResourceGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/test_result_with_resource_patch_response.py b/pypureclient/flasharray/FA_2_26/models/test_result_with_resource_patch_response.py new file mode 100644 index 000000000..e3f993e70 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/test_result_with_resource_patch_response.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class TestResultWithResourcePatchResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'items': 'list[TestResultWithResource]' + } + + attribute_map = { + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + items=None, # type: List[models.TestResultWithResource] + ): + """ + Keyword args: + items (list[TestResultWithResource]) + """ + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `TestResultWithResourcePatchResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `TestResultWithResourcePatchResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `TestResultWithResourcePatchResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `TestResultWithResourcePatchResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(TestResultWithResourcePatchResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, TestResultWithResourcePatchResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/test_result_with_resource_post_response.py b/pypureclient/flasharray/FA_2_26/models/test_result_with_resource_post_response.py new file mode 100644 index 000000000..29bb959cd --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/test_result_with_resource_post_response.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class TestResultWithResourcePostResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'items': 'list[TestResultWithResource]' + } + + attribute_map = { + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + items=None, # type: List[models.TestResultWithResource] + ): + """ + Keyword args: + items (list[TestResultWithResource]) + """ + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `TestResultWithResourcePostResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `TestResultWithResourcePostResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `TestResultWithResourcePostResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `TestResultWithResourcePostResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(TestResultWithResourcePostResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, TestResultWithResourcePostResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/test_result_with_resource_response.py b/pypureclient/flasharray/FA_2_26/models/test_result_with_resource_response.py new file mode 100644 index 000000000..d6dd0f6e3 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/test_result_with_resource_response.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class TestResultWithResourceResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[TestResultWithResource]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.TestResultWithResource] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[TestResultWithResource]) + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `TestResultWithResourceResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `TestResultWithResourceResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `TestResultWithResourceResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `TestResultWithResourceResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(TestResultWithResourceResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, TestResultWithResourceResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/test_result_with_resource_with_id.py b/pypureclient/flasharray/FA_2_26/models/test_result_with_resource_with_id.py new file mode 100644 index 000000000..65a79b6ca --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/test_result_with_resource_with_id.py @@ -0,0 +1,177 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class TestResultWithResourceWithId(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'component_address': 'str', + 'component_name': 'str', + 'description': 'str', + 'destination': 'str', + 'enabled': 'bool', + 'result_details': 'str', + 'success': 'bool', + 'test_type': 'str', + 'resource': 'FixedReference' + } + + attribute_map = { + 'component_address': 'component_address', + 'component_name': 'component_name', + 'description': 'description', + 'destination': 'destination', + 'enabled': 'enabled', + 'result_details': 'result_details', + 'success': 'success', + 'test_type': 'test_type', + 'resource': 'resource' + } + + required_args = { + } + + def __init__( + self, + component_address=None, # type: str + component_name=None, # type: str + description=None, # type: str + destination=None, # type: str + enabled=None, # type: bool + result_details=None, # type: str + success=None, # type: bool + test_type=None, # type: str + resource=None, # type: models.FixedReference + ): + """ + Keyword args: + component_address (str): Address of the component running the test. + component_name (str): Name of the component running the test. + description (str): What the test is doing. + destination (str): The URI of the target server being tested. + enabled (bool): Whether the object being tested is enabled or not. Returns a value of `true` if the the service is enabled. Returns a value of `false` if the service is disabled. + result_details (str): Additional information about the test result. + success (bool): Whether the object being tested passed the test or not. Returns a value of `true` if the specified test has succeeded. Returns a value of `false` if the specified test has failed. + test_type (str): Displays the type of test being performed. The returned values are determined by the `resource` being tested and its configuration. Values include `array-admin-group-searching`, `binding`, `connecting`, `phonehome`, `phonehome-ping`, `remote-assist`, `rootdse-searching`, `read-only-group-searching`, `storage-admin-group-searching`, and `validate-ntp-configuration`. + resource (FixedReference): A reference to the object being tested. + """ + if component_address is not None: + self.component_address = component_address + if component_name is not None: + self.component_name = component_name + if description is not None: + self.description = description + if destination is not None: + self.destination = destination + if enabled is not None: + self.enabled = enabled + if result_details is not None: + self.result_details = result_details + if success is not None: + self.success = success + if test_type is not None: + self.test_type = test_type + if resource is not None: + self.resource = resource + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `TestResultWithResourceWithId`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `TestResultWithResourceWithId`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `TestResultWithResourceWithId`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `TestResultWithResourceWithId`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(TestResultWithResourceWithId, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, TestResultWithResourceWithId): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/test_result_with_resource_with_id_post_response.py b/pypureclient/flasharray/FA_2_26/models/test_result_with_resource_with_id_post_response.py new file mode 100644 index 000000000..9716b5324 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/test_result_with_resource_with_id_post_response.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class TestResultWithResourceWithIdPostResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'items': 'list[TestResultWithResourceWithId]' + } + + attribute_map = { + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + items=None, # type: List[models.TestResultWithResourceWithId] + ): + """ + Keyword args: + items (list[TestResultWithResourceWithId]) + """ + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `TestResultWithResourceWithIdPostResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `TestResultWithResourceWithIdPostResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `TestResultWithResourceWithIdPostResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `TestResultWithResourceWithIdPostResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(TestResultWithResourceWithIdPostResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, TestResultWithResourceWithIdPostResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/throttle.py b/pypureclient/flasharray/FA_2_26/models/throttle.py new file mode 100644 index 000000000..c53fb321f --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/throttle.py @@ -0,0 +1,141 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class Throttle(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'default_limit': 'int', + 'window': 'TimeWindow', + 'window_limit': 'int' + } + + attribute_map = { + 'default_limit': 'default_limit', + 'window': 'window', + 'window_limit': 'window_limit' + } + + required_args = { + } + + def __init__( + self, + default_limit=None, # type: int + window=None, # type: models.TimeWindow + window_limit=None, # type: int + ): + """ + Keyword args: + default_limit (int): Default maximum bandwidth threshold for outbound traffic in bytes. Once exceeded, bandwidth throttling occurs. + window (TimeWindow): The time during which the `window_limit` threshold is in effect. + window_limit (int): Maximum bandwidth threshold for outbound traffic during the specified `window_limit` time range in bytes. Once exceeded, bandwidth throttling occurs. + """ + if default_limit is not None: + self.default_limit = default_limit + if window is not None: + self.window = window + if window_limit is not None: + self.window_limit = window_limit + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Throttle`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Throttle`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Throttle`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Throttle`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(Throttle, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, Throttle): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/time_window.py b/pypureclient/flasharray/FA_2_26/models/time_window.py new file mode 100644 index 000000000..01a5f54e5 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/time_window.py @@ -0,0 +1,135 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class TimeWindow(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'start': 'int', + 'end': 'int' + } + + attribute_map = { + 'start': 'start', + 'end': 'end' + } + + required_args = { + } + + def __init__( + self, + start=None, # type: int + end=None, # type: int + ): + """ + Keyword args: + start (int): The window start time. Measured in milliseconds since midnight. The time must be set on the hour. (e.g., `18000000`, which is equal to 5:00 AM). + end (int): The window end time. Measured in milliseconds since midnight. The time must be set on the hour. (e.g., `28800000`, which is equal to 8:00 AM). + """ + if start is not None: + self.start = start + if end is not None: + self.end = end + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `TimeWindow`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `TimeWindow`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `TimeWindow`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `TimeWindow`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(TimeWindow, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, TimeWindow): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/total_item_count_response.py b/pypureclient/flasharray/FA_2_26/models/total_item_count_response.py new file mode 100644 index 000000000..1ecee3272 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/total_item_count_response.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class TotalItemCountResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'total_item_count': 'int' + } + + attribute_map = { + 'total_item_count': 'total_item_count' + } + + required_args = { + } + + def __init__( + self, + total_item_count=None, # type: int + ): + """ + Keyword args: + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + """ + if total_item_count is not None: + self.total_item_count = total_item_count + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `TotalItemCountResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `TotalItemCountResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `TotalItemCountResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `TotalItemCountResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(TotalItemCountResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, TotalItemCountResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/transfer.py b/pypureclient/flasharray/FA_2_26/models/transfer.py new file mode 100644 index 000000000..693ecfaa0 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/transfer.py @@ -0,0 +1,159 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class Transfer(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'destroyed': 'bool', + 'started': 'int', + 'progress': 'float', + 'completed': 'int', + 'data_transferred': 'int', + 'physical_bytes_written': 'int' + } + + attribute_map = { + 'destroyed': 'destroyed', + 'started': 'started', + 'progress': 'progress', + 'completed': 'completed', + 'data_transferred': 'data_transferred', + 'physical_bytes_written': 'physical_bytes_written' + } + + required_args = { + } + + def __init__( + self, + destroyed=None, # type: bool + started=None, # type: int + progress=None, # type: float + completed=None, # type: int + data_transferred=None, # type: int + physical_bytes_written=None, # type: int + ): + """ + Keyword args: + destroyed (bool): Returns a value of `true` if the snapshot has been destroyed and is pending eradication. The destroyed snapshot can be recovered by setting `destroyed=false`. Once the eradication pending period has elapsed, the snapshot is permanently eradicated and can no longer be recovered. + started (int): The timestamp of when the snapshot replication process started. Measured in milliseconds since the UNIX epoch. + progress (float): The percentage progress of the snapshot transfer from the source array to the target. Displayed in decimal format. + completed (int): The timestamp of when the snapshot replication process completed. Measured in milliseconds since the UNIX epoch. + data_transferred (int): The number of bytes transferred from the source to the target as part of the replication process. Measured in bytes. + physical_bytes_written (int): The amount of physical/logical data written to the target due to replication. Measured in bytes. + """ + if destroyed is not None: + self.destroyed = destroyed + if started is not None: + self.started = started + if progress is not None: + self.progress = progress + if completed is not None: + self.completed = completed + if data_transferred is not None: + self.data_transferred = data_transferred + if physical_bytes_written is not None: + self.physical_bytes_written = physical_bytes_written + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Transfer`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Transfer`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Transfer`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Transfer`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(Transfer, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, Transfer): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/username.py b/pypureclient/flasharray/FA_2_26/models/username.py new file mode 100644 index 000000000..405f9efe9 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/username.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class Username(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'username': 'str' + } + + attribute_map = { + 'username': 'username' + } + + required_args = { + } + + def __init__( + self, + username=None, # type: str + ): + """ + Keyword args: + username (str): The username of the user. + """ + if username is not None: + self.username = username + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Username`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Username`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Username`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Username`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(Username, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, Username): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/username_response.py b/pypureclient/flasharray/FA_2_26/models/username_response.py new file mode 100644 index 000000000..21553208c --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/username_response.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class UsernameResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'items': 'list[Username]' + } + + attribute_map = { + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + items=None, # type: List[models.Username] + ): + """ + Keyword args: + items (list[Username]) + """ + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `UsernameResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `UsernameResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `UsernameResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `UsernameResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(UsernameResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, UsernameResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/vchost.py b/pypureclient/flasharray/FA_2_26/models/vchost.py new file mode 100644 index 000000000..11e1dabf5 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/vchost.py @@ -0,0 +1,141 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class Vchost(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'id': 'str', + 'name': 'str', + 'vcuuid': 'str' + } + + attribute_map = { + 'id': 'id', + 'name': 'name', + 'vcuuid': 'vcuuid' + } + + required_args = { + } + + def __init__( + self, + id=None, # type: str + name=None, # type: str + vcuuid=None, # type: str + ): + """ + Keyword args: + id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. + name (str): A user-specified name. The name must be locally unique and can be changed. + vcuuid (str): The vCenter Server uuid of the vchost. + """ + if id is not None: + self.id = id + if name is not None: + self.name = name + if vcuuid is not None: + self.vcuuid = vcuuid + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Vchost`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Vchost`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Vchost`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Vchost`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(Vchost, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, Vchost): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/vchost_certificate.py b/pypureclient/flasharray/FA_2_26/models/vchost_certificate.py new file mode 100644 index 000000000..6b4902f7b --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/vchost_certificate.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class VchostCertificate(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'certificate': 'ReferenceNoIdWithType', + 'endpoints': 'list[str]', + 'id': 'str', + 'vchost': 'ReferenceWithType' + } + + attribute_map = { + 'certificate': 'certificate', + 'endpoints': 'endpoints', + 'id': 'id', + 'vchost': 'vchost' + } + + required_args = { + } + + def __init__( + self, + certificate=None, # type: models.ReferenceNoIdWithType + endpoints=None, # type: List[str] + id=None, # type: str + vchost=None, # type: models.ReferenceWithType + ): + """ + Keyword args: + certificate (ReferenceNoIdWithType): A reference to the certificate that will be presented to clients accessing the referenced `vchost` using any of the network addresses defined by `endpoints`. + endpoints (list[str]): The IPv4 or IPv6 addresses of the endpoints to configure for the vchost, over which the configured certificate will be presented. + id (str): A globally unique, system-generated ID. The ID cannot be modified. + vchost (ReferenceWithType): The vchost by which the certificate is to be presented over the configured endpoints. + """ + if certificate is not None: + self.certificate = certificate + if endpoints is not None: + self.endpoints = endpoints + if id is not None: + self.id = id + if vchost is not None: + self.vchost = vchost + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VchostCertificate`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VchostCertificate`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VchostCertificate`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VchostCertificate`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(VchostCertificate, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, VchostCertificate): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/vchost_certificate_get_response.py b/pypureclient/flasharray/FA_2_26/models/vchost_certificate_get_response.py new file mode 100644 index 000000000..398558bf7 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/vchost_certificate_get_response.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class VchostCertificateGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[VchostCertificate]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.VchostCertificate] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[VchostCertificate]): Returns a list of all items after filtering. If applicable, the values are displayed for each name. + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VchostCertificateGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VchostCertificateGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VchostCertificateGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VchostCertificateGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(VchostCertificateGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, VchostCertificateGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/vchost_certificate_patch.py b/pypureclient/flasharray/FA_2_26/models/vchost_certificate_patch.py new file mode 100644 index 000000000..b5880ec92 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/vchost_certificate_patch.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class VchostCertificatePatch(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'endpoints': 'list[str]' + } + + attribute_map = { + 'endpoints': 'endpoints' + } + + required_args = { + } + + def __init__( + self, + endpoints=None, # type: List[str] + ): + """ + Keyword args: + endpoints (list[str]): The IPv4 or IPv6 addresses of the endpoints to configure for the vchost, over which the configured certificate will be presented. + """ + if endpoints is not None: + self.endpoints = endpoints + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VchostCertificatePatch`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VchostCertificatePatch`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VchostCertificatePatch`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VchostCertificatePatch`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(VchostCertificatePatch, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, VchostCertificatePatch): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/vchost_certificate_post.py b/pypureclient/flasharray/FA_2_26/models/vchost_certificate_post.py new file mode 100644 index 000000000..4f6acdd73 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/vchost_certificate_post.py @@ -0,0 +1,135 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class VchostCertificatePost(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'certificate': 'ReferenceNoIdWithType', + 'endpoints': 'list[str]' + } + + attribute_map = { + 'certificate': 'certificate', + 'endpoints': 'endpoints' + } + + required_args = { + } + + def __init__( + self, + certificate=None, # type: models.ReferenceNoIdWithType + endpoints=None, # type: List[str] + ): + """ + Keyword args: + certificate (ReferenceNoIdWithType): The certificate to be presented by the vchost over the configured endpoints. + endpoints (list[str]): The IPv4 or IPv6 addresses of the endpoints to configure for the vchost, over which the configured certificate will be presented. + """ + if certificate is not None: + self.certificate = certificate + if endpoints is not None: + self.endpoints = endpoints + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VchostCertificatePost`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VchostCertificatePost`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VchostCertificatePost`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VchostCertificatePost`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(VchostCertificatePost, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, VchostCertificatePost): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/vchost_certificate_response.py b/pypureclient/flasharray/FA_2_26/models/vchost_certificate_response.py new file mode 100644 index 000000000..45b7f27dd --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/vchost_certificate_response.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class VchostCertificateResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'items': 'list[VchostCertificate]' + } + + attribute_map = { + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + items=None, # type: List[models.VchostCertificate] + ): + """ + Keyword args: + items (list[VchostCertificate]): Returns a list of all items after filtering. If applicable, the values are displayed for each name. + """ + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VchostCertificateResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VchostCertificateResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VchostCertificateResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VchostCertificateResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(VchostCertificateResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, VchostCertificateResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/vchost_endpoint.py b/pypureclient/flasharray/FA_2_26/models/vchost_endpoint.py new file mode 100644 index 000000000..fa039c54f --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/vchost_endpoint.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class VchostEndpoint(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'certificates': 'list[ReferenceNoIdWithType]', + 'endpoint': 'str', + 'id': 'str', + 'vchost': 'ReferenceWithType' + } + + attribute_map = { + 'certificates': 'certificates', + 'endpoint': 'endpoint', + 'id': 'id', + 'vchost': 'vchost' + } + + required_args = { + } + + def __init__( + self, + certificates=None, # type: List[models.ReferenceNoIdWithType] + endpoint=None, # type: str + id=None, # type: str + vchost=None, # type: models.ReferenceWithType + ): + """ + Keyword args: + certificates (list[ReferenceNoIdWithType]): The certificate to be presented by the vchost over the configured endpoints. + endpoint (str): The IPv4 or IPv6 address of the endpoint. + id (str): A globally unique, system-generated ID. The ID cannot be modified. + vchost (ReferenceWithType): The vchost for which this endpoint is to be configured. + """ + if certificates is not None: + self.certificates = certificates + if endpoint is not None: + self.endpoint = endpoint + if id is not None: + self.id = id + if vchost is not None: + self.vchost = vchost + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VchostEndpoint`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VchostEndpoint`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VchostEndpoint`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VchostEndpoint`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(VchostEndpoint, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, VchostEndpoint): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/vchost_endpoint_get_response.py b/pypureclient/flasharray/FA_2_26/models/vchost_endpoint_get_response.py new file mode 100644 index 000000000..5271b96cb --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/vchost_endpoint_get_response.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class VchostEndpointGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[VchostEndpoint]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.VchostEndpoint] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[VchostEndpoint]): Returns a list of all items after filtering. If applicable, the values are displayed for each name. + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VchostEndpointGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VchostEndpointGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VchostEndpointGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VchostEndpointGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(VchostEndpointGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, VchostEndpointGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/vchost_endpoint_patch.py b/pypureclient/flasharray/FA_2_26/models/vchost_endpoint_patch.py new file mode 100644 index 000000000..c70e0230c --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/vchost_endpoint_patch.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class VchostEndpointPatch(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'certificates': 'list[ReferenceNoIdWithType]' + } + + attribute_map = { + 'certificates': 'certificates' + } + + required_args = { + } + + def __init__( + self, + certificates=None, # type: List[models.ReferenceNoIdWithType] + ): + """ + Keyword args: + certificates (list[ReferenceNoIdWithType]): The certificate to be presented by the vchost over the configured endpoints. + """ + if certificates is not None: + self.certificates = certificates + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VchostEndpointPatch`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VchostEndpointPatch`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VchostEndpointPatch`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VchostEndpointPatch`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(VchostEndpointPatch, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, VchostEndpointPatch): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/vchost_endpoint_post.py b/pypureclient/flasharray/FA_2_26/models/vchost_endpoint_post.py new file mode 100644 index 000000000..8ecd1ce83 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/vchost_endpoint_post.py @@ -0,0 +1,135 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class VchostEndpointPost(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'endpoint': 'str', + 'certificates': 'list[ReferenceNoIdWithType]' + } + + attribute_map = { + 'endpoint': 'endpoint', + 'certificates': 'certificates' + } + + required_args = { + } + + def __init__( + self, + endpoint=None, # type: str + certificates=None, # type: List[models.ReferenceNoIdWithType] + ): + """ + Keyword args: + endpoint (str): The IPv4 or IPv6 address of the endpoint. + certificates (list[ReferenceNoIdWithType]): The certificate to be presented by the vchost over the configured endpoints. + """ + if endpoint is not None: + self.endpoint = endpoint + if certificates is not None: + self.certificates = certificates + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VchostEndpointPost`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VchostEndpointPost`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VchostEndpointPost`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VchostEndpointPost`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(VchostEndpointPost, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, VchostEndpointPost): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/vchost_endpoint_response.py b/pypureclient/flasharray/FA_2_26/models/vchost_endpoint_response.py new file mode 100644 index 000000000..d0b8097dc --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/vchost_endpoint_response.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class VchostEndpointResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'items': 'list[VchostEndpoint]' + } + + attribute_map = { + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + items=None, # type: List[models.VchostEndpoint] + ): + """ + Keyword args: + items (list[VchostEndpoint]): Returns a list of all items after filtering. If applicable, the values are displayed for each name. + """ + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VchostEndpointResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VchostEndpointResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VchostEndpointResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VchostEndpointResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(VchostEndpointResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, VchostEndpointResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/vchost_get_response.py b/pypureclient/flasharray/FA_2_26/models/vchost_get_response.py new file mode 100644 index 000000000..9bcf61428 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/vchost_get_response.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class VchostGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[Vchost]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.Vchost] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[Vchost]): Returns a list of all items after filtering. If applicable, the values are displayed for each name. + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VchostGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VchostGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VchostGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VchostGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(VchostGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, VchostGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/vchost_patch.py b/pypureclient/flasharray/FA_2_26/models/vchost_patch.py new file mode 100644 index 000000000..33ea93f1d --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/vchost_patch.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class VchostPatch(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'name': 'str' + } + + attribute_map = { + 'name': 'name' + } + + required_args = { + } + + def __init__( + self, + name=None, # type: str + ): + """ + Keyword args: + name (str): The new name of the vchost. + """ + if name is not None: + self.name = name + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VchostPatch`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VchostPatch`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VchostPatch`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VchostPatch`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(VchostPatch, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, VchostPatch): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/vchost_post.py b/pypureclient/flasharray/FA_2_26/models/vchost_post.py new file mode 100644 index 000000000..ead7ceab9 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/vchost_post.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class VchostPost(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'vcuuid': 'str' + } + + attribute_map = { + 'vcuuid': 'vcuuid' + } + + required_args = { + } + + def __init__( + self, + vcuuid=None, # type: str + ): + """ + Keyword args: + vcuuid (str): The vCenter Server uuid of the vchost. + """ + if vcuuid is not None: + self.vcuuid = vcuuid + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VchostPost`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VchostPost`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VchostPost`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VchostPost`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(VchostPost, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, VchostPost): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/vchost_response.py b/pypureclient/flasharray/FA_2_26/models/vchost_response.py new file mode 100644 index 000000000..4bb790b23 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/vchost_response.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class VchostResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'items': 'list[Vchost]' + } + + attribute_map = { + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + items=None, # type: List[models.Vchost] + ): + """ + Keyword args: + items (list[Vchost]): Returns a list of all items after filtering. If applicable, the values are displayed for each name. + """ + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VchostResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VchostResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VchostResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VchostResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(VchostResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, VchostResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/virtual_machine.py b/pypureclient/flasharray/FA_2_26/models/virtual_machine.py new file mode 100644 index 000000000..ba9b994a8 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/virtual_machine.py @@ -0,0 +1,171 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class VirtualMachine(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'created': 'int', + 'destroyed': 'bool', + 'id': 'str', + 'name': 'str', + 'recover_context': 'FixedReference', + 'time_remaining': 'int', + 'vm_id': 'str', + 'vm_type': 'str' + } + + attribute_map = { + 'created': 'created', + 'destroyed': 'destroyed', + 'id': 'id', + 'name': 'name', + 'recover_context': 'recover_context', + 'time_remaining': 'time_remaining', + 'vm_id': 'vm_id', + 'vm_type': 'vm_type' + } + + required_args = { + } + + def __init__( + self, + created=None, # type: int + destroyed=None, # type: bool + id=None, # type: str + name=None, # type: str + recover_context=None, # type: models.FixedReference + time_remaining=None, # type: int + vm_id=None, # type: str + vm_type=None, # type: str + ): + """ + Keyword args: + created (int): The virtual machine creation time, measured in milliseconds since the UNIX epoch. + destroyed (bool): Returns a value of `true` if the virtual machine has been destroyed and is pending eradication. + id (str): The ID of the virtual machine to create or modify, as assigned by the external system. `id` is deprecated. Use `vm_id` instead. + name (str): The name of the virtual machine, as assigned by the external system + recover_context (FixedReference): A reference to any additional entities needed to recover this virtual machine. + time_remaining (int): The amount of time left until the destroyed volume is permanently eradicated, measured in milliseconds. Before the `time_remaining` period has elapsed, the destroyed volume can be recovered by setting `destroyed=false`. + vm_id (str): The ID of the virtual machine, as assigned by the external system. + vm_type (str): The type of virtual machine. The only valid value is `vvol`. + """ + if created is not None: + self.created = created + if destroyed is not None: + self.destroyed = destroyed + if id is not None: + self.id = id + if name is not None: + self.name = name + if recover_context is not None: + self.recover_context = recover_context + if time_remaining is not None: + self.time_remaining = time_remaining + if vm_id is not None: + self.vm_id = vm_id + if vm_type is not None: + self.vm_type = vm_type + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VirtualMachine`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VirtualMachine`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VirtualMachine`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VirtualMachine`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(VirtualMachine, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, VirtualMachine): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/virtual_machine_get_response.py b/pypureclient/flasharray/FA_2_26/models/virtual_machine_get_response.py new file mode 100644 index 000000000..8b5242a55 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/virtual_machine_get_response.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class VirtualMachineGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[VirtualMachine]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.VirtualMachine] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[VirtualMachine]): Displays a list of all items after filtering. The values are displayed for each name if meaningful. + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VirtualMachineGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VirtualMachineGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VirtualMachineGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VirtualMachineGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(VirtualMachineGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, VirtualMachineGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/virtual_machine_post.py b/pypureclient/flasharray/FA_2_26/models/virtual_machine_post.py new file mode 100644 index 000000000..5c8b090f8 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/virtual_machine_post.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class VirtualMachinePost(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'id': 'str', + 'source': 'Reference', + 'vm_id': 'str', + 'vm_type': 'str' + } + + attribute_map = { + 'id': 'id', + 'source': 'source', + 'vm_id': 'vm_id', + 'vm_type': 'vm_type' + } + + required_args = { + } + + def __init__( + self, + id=None, # type: str + source=None, # type: models.Reference + vm_id=None, # type: str + vm_type=None, # type: str + ): + """ + Keyword args: + id (str): The ID of the virtual machine to create or modify, as assigned by the external system. `id` is deprecated. Use `vm_id` instead. + source (Reference): The recovery context for the virtual machine or virtual machine snapshot being modified. + vm_id (str): The ID of the virtual machine to create or modify, as assigned by the external system. + vm_type (str): The type of virtual machine. The only valid value is `vvol`. + """ + if id is not None: + self.id = id + if source is not None: + self.source = source + if vm_id is not None: + self.vm_id = vm_id + if vm_type is not None: + self.vm_type = vm_type + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VirtualMachinePost`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VirtualMachinePost`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VirtualMachinePost`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VirtualMachinePost`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(VirtualMachinePost, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, VirtualMachinePost): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/virtual_machine_response.py b/pypureclient/flasharray/FA_2_26/models/virtual_machine_response.py new file mode 100644 index 000000000..0118633fc --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/virtual_machine_response.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class VirtualMachineResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'items': 'list[VirtualMachine]' + } + + attribute_map = { + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + items=None, # type: List[models.VirtualMachine] + ): + """ + Keyword args: + items (list[VirtualMachine]): Displays a list of all items after filtering. The values are displayed for each name if meaningful. + """ + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VirtualMachineResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VirtualMachineResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VirtualMachineResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VirtualMachineResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(VirtualMachineResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, VirtualMachineResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/volume.py b/pypureclient/flasharray/FA_2_26/models/volume.py new file mode 100644 index 000000000..c488cd2fa --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/volume.py @@ -0,0 +1,237 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class Volume(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'id': 'str', + 'name': 'str', + 'connection_count': 'int', + 'created': 'int', + 'destroyed': 'bool', + 'host_encryption_key_status': 'str', + 'priority_adjustment': 'PriorityAdjustment', + 'provisioned': 'int', + 'qos': 'Qos', + 'serial': 'str', + 'space': 'VolumeSpaceCommon', + 'time_remaining': 'int', + 'pod': 'Reference', + 'priority': 'int', + 'promotion_status': 'str', + 'requested_promotion_state': 'str', + 'source': 'FixedReference', + 'subtype': 'str', + 'volume_group': 'Reference' + } + + attribute_map = { + 'id': 'id', + 'name': 'name', + 'connection_count': 'connection_count', + 'created': 'created', + 'destroyed': 'destroyed', + 'host_encryption_key_status': 'host_encryption_key_status', + 'priority_adjustment': 'priority_adjustment', + 'provisioned': 'provisioned', + 'qos': 'qos', + 'serial': 'serial', + 'space': 'space', + 'time_remaining': 'time_remaining', + 'pod': 'pod', + 'priority': 'priority', + 'promotion_status': 'promotion_status', + 'requested_promotion_state': 'requested_promotion_state', + 'source': 'source', + 'subtype': 'subtype', + 'volume_group': 'volume_group' + } + + required_args = { + } + + def __init__( + self, + id=None, # type: str + name=None, # type: str + connection_count=None, # type: int + created=None, # type: int + destroyed=None, # type: bool + host_encryption_key_status=None, # type: str + priority_adjustment=None, # type: models.PriorityAdjustment + provisioned=None, # type: int + qos=None, # type: models.Qos + serial=None, # type: str + space=None, # type: models.VolumeSpaceCommon + time_remaining=None, # type: int + pod=None, # type: models.Reference + priority=None, # type: int + promotion_status=None, # type: str + requested_promotion_state=None, # type: str + source=None, # type: models.FixedReference + subtype=None, # type: str + volume_group=None, # type: models.Reference + ): + """ + Keyword args: + id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. + name (str): A user-specified name. The name must be locally unique and can be changed. + connection_count (int): The total number of hosts and host groups connected to the volume. + created (int): The volume creation time, measured in milliseconds since the UNIX epoch. + destroyed (bool): Returns a value of `true` if the volume has been destroyed and is pending eradication. The `time_remaining` value displays the amount of time left until the destroyed volume is permanently eradicated. Before the `time_remaining` period has elapsed, the destroyed volume can be recovered by setting `destroyed=false`. Once the `time_remaining` period has elapsed, the volume is permanently eradicated and can no longer be recovered. + host_encryption_key_status (str): The host encryption key status for this volume. Values include `none`, `detected`, and `fetched`. + priority_adjustment (PriorityAdjustment): Priority adjustment operator and value. + provisioned (int): The virtual size of the volume as a multiple of 512, measured in bytes. The maximum size is 4503599627370496 (4PB). + qos (Qos): Displays QoS limit information. + serial (str): A globally unique serial number generated by the FlashArray when the volume is created. + space (VolumeSpaceCommon): Displays size and space consumption information. + time_remaining (int): The amount of time left until the destroyed volume is permanently eradicated, measured in milliseconds. Before the `time_remaining` period has elapsed, the destroyed volume can be recovered by setting `destroyed=false`. + pod (Reference): A reference to the pod. + priority (int): The current priority value. Priority is calculated by combining all applicable relative `priority_adjustment` values or taking the exact value if the volume has an absolute `priority_adjustment` (specified by an `=` `priority_adjustment_operator`). + promotion_status (str): Current promotion status of a volume. Values include `promoted` and `demoted`. A status of `promoted` indicates that the volume has been promoted and can accept write requests from hosts. This is the default status for a volume when it is created. A status of `demoted` indicates that the volume has been demoted and no longer accepts write requests. + requested_promotion_state (str): Values include `promoted` and `demoted`. Patch `requested_promotion_state` to `demoted` to demote the volume so that the volume stops accepting write requests. Patch `requested_promotion_state` to `promoted` to promote the volume so that the volume starts accepting write requests. + source (FixedReference): A reference to the originating volume as a result of a volume copy. + subtype (str): The type of volume. Values include `protocol_endpoint` and `regular`. + volume_group (Reference): A reference to the volume group. + """ + if id is not None: + self.id = id + if name is not None: + self.name = name + if connection_count is not None: + self.connection_count = connection_count + if created is not None: + self.created = created + if destroyed is not None: + self.destroyed = destroyed + if host_encryption_key_status is not None: + self.host_encryption_key_status = host_encryption_key_status + if priority_adjustment is not None: + self.priority_adjustment = priority_adjustment + if provisioned is not None: + self.provisioned = provisioned + if qos is not None: + self.qos = qos + if serial is not None: + self.serial = serial + if space is not None: + self.space = space + if time_remaining is not None: + self.time_remaining = time_remaining + if pod is not None: + self.pod = pod + if priority is not None: + self.priority = priority + if promotion_status is not None: + self.promotion_status = promotion_status + if requested_promotion_state is not None: + self.requested_promotion_state = requested_promotion_state + if source is not None: + self.source = source + if subtype is not None: + self.subtype = subtype + if volume_group is not None: + self.volume_group = volume_group + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Volume`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Volume`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Volume`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `Volume`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(Volume, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, Volume): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/volume_common.py b/pypureclient/flasharray/FA_2_26/models/volume_common.py new file mode 100644 index 000000000..4af123240 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/volume_common.py @@ -0,0 +1,195 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class VolumeCommon(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'id': 'str', + 'name': 'str', + 'connection_count': 'int', + 'created': 'int', + 'destroyed': 'bool', + 'host_encryption_key_status': 'str', + 'priority_adjustment': 'PriorityAdjustment', + 'provisioned': 'int', + 'qos': 'Qos', + 'serial': 'str', + 'space': 'VolumeSpaceCommon', + 'time_remaining': 'int' + } + + attribute_map = { + 'id': 'id', + 'name': 'name', + 'connection_count': 'connection_count', + 'created': 'created', + 'destroyed': 'destroyed', + 'host_encryption_key_status': 'host_encryption_key_status', + 'priority_adjustment': 'priority_adjustment', + 'provisioned': 'provisioned', + 'qos': 'qos', + 'serial': 'serial', + 'space': 'space', + 'time_remaining': 'time_remaining' + } + + required_args = { + } + + def __init__( + self, + id=None, # type: str + name=None, # type: str + connection_count=None, # type: int + created=None, # type: int + destroyed=None, # type: bool + host_encryption_key_status=None, # type: str + priority_adjustment=None, # type: models.PriorityAdjustment + provisioned=None, # type: int + qos=None, # type: models.Qos + serial=None, # type: str + space=None, # type: models.VolumeSpaceCommon + time_remaining=None, # type: int + ): + """ + Keyword args: + id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. + name (str): A user-specified name. The name must be locally unique and can be changed. + connection_count (int): The total number of hosts and host groups connected to the volume. + created (int): The volume creation time, measured in milliseconds since the UNIX epoch. + destroyed (bool): Returns a value of `true` if the volume has been destroyed and is pending eradication. The `time_remaining` value displays the amount of time left until the destroyed volume is permanently eradicated. Before the `time_remaining` period has elapsed, the destroyed volume can be recovered by setting `destroyed=false`. Once the `time_remaining` period has elapsed, the volume is permanently eradicated and can no longer be recovered. + host_encryption_key_status (str): The host encryption key status for this volume. Values include `none`, `detected`, and `fetched`. + priority_adjustment (PriorityAdjustment): Priority adjustment operator and value. + provisioned (int): The virtual size of the volume as a multiple of 512, measured in bytes. The maximum size is 4503599627370496 (4PB). + qos (Qos): Displays QoS limit information. + serial (str): A globally unique serial number generated by the FlashArray when the volume is created. + space (VolumeSpaceCommon): Displays size and space consumption information. + time_remaining (int): The amount of time left until the destroyed volume is permanently eradicated, measured in milliseconds. Before the `time_remaining` period has elapsed, the destroyed volume can be recovered by setting `destroyed=false`. + """ + if id is not None: + self.id = id + if name is not None: + self.name = name + if connection_count is not None: + self.connection_count = connection_count + if created is not None: + self.created = created + if destroyed is not None: + self.destroyed = destroyed + if host_encryption_key_status is not None: + self.host_encryption_key_status = host_encryption_key_status + if priority_adjustment is not None: + self.priority_adjustment = priority_adjustment + if provisioned is not None: + self.provisioned = provisioned + if qos is not None: + self.qos = qos + if serial is not None: + self.serial = serial + if space is not None: + self.space = space + if time_remaining is not None: + self.time_remaining = time_remaining + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VolumeCommon`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VolumeCommon`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VolumeCommon`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VolumeCommon`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(VolumeCommon, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, VolumeCommon): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/volume_diff.py b/pypureclient/flasharray/FA_2_26/models/volume_diff.py new file mode 100644 index 000000000..a3fcf0a85 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/volume_diff.py @@ -0,0 +1,135 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class VolumeDiff(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'offset': 'int', + 'length': 'int' + } + + attribute_map = { + 'offset': 'offset', + 'length': 'length' + } + + required_args = { + } + + def __init__( + self, + offset=None, # type: int + length=None, # type: int + ): + """ + Keyword args: + offset (int): Absolute offset of the chunk that is different, in bytes. + length (int): Length of the chunk that is different, in bytes. + """ + if offset is not None: + self.offset = offset + if length is not None: + self.length = length + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VolumeDiff`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VolumeDiff`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VolumeDiff`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VolumeDiff`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(VolumeDiff, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, VolumeDiff): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/volume_get_response.py b/pypureclient/flasharray/FA_2_26/models/volume_get_response.py new file mode 100644 index 000000000..72e9f5188 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/volume_get_response.py @@ -0,0 +1,153 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class VolumeGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[Volume]', + 'total': 'list[Volume]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items', + 'total': 'total' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.Volume] + total=None, # type: List[models.Volume] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[Volume]): Displays a list of all items after filtering. The values are displayed for each name, if meaningful. If `total_only=true`, the `items` list is empty. + total (list[Volume]): The aggregate value of all items after filtering. If applicable, the average value is displayed instead. The values are displayed for each field, if meaningful. + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + if total is not None: + self.total = total + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VolumeGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VolumeGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VolumeGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VolumeGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(VolumeGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, VolumeGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/volume_group.py b/pypureclient/flasharray/FA_2_26/models/volume_group.py new file mode 100644 index 000000000..2a15b3331 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/volume_group.py @@ -0,0 +1,177 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class VolumeGroup(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'id': 'str', + 'name': 'str', + 'destroyed': 'bool', + 'qos': 'Qos', + 'priority_adjustment': 'PriorityAdjustment', + 'space': 'Space', + 'time_remaining': 'int', + 'volume_count': 'int', + 'pod': 'Reference' + } + + attribute_map = { + 'id': 'id', + 'name': 'name', + 'destroyed': 'destroyed', + 'qos': 'qos', + 'priority_adjustment': 'priority_adjustment', + 'space': 'space', + 'time_remaining': 'time_remaining', + 'volume_count': 'volume_count', + 'pod': 'pod' + } + + required_args = { + } + + def __init__( + self, + id=None, # type: str + name=None, # type: str + destroyed=None, # type: bool + qos=None, # type: models.Qos + priority_adjustment=None, # type: models.PriorityAdjustment + space=None, # type: models.Space + time_remaining=None, # type: int + volume_count=None, # type: int + pod=None, # type: models.Reference + ): + """ + Keyword args: + id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. + name (str): A user-specified name. The name must be locally unique and can be changed. + destroyed (bool): Returns a value of `true` if the volume group has been destroyed and is pending eradication. Before the `time_remaining` period has elapsed, the destroyed volume group can be recovered by setting `destroyed=false`. After the `time_remaining` period has elapsed, the volume group is permanently eradicated and cannot be recovered. + qos (Qos) + priority_adjustment (PriorityAdjustment) + space (Space) + time_remaining (int): The amount of time left until the destroyed volume group is permanently eradicated, measured in milliseconds. + volume_count (int): The number of volumes in the volume group. + pod (Reference): A reference to the pod. + """ + if id is not None: + self.id = id + if name is not None: + self.name = name + if destroyed is not None: + self.destroyed = destroyed + if qos is not None: + self.qos = qos + if priority_adjustment is not None: + self.priority_adjustment = priority_adjustment + if space is not None: + self.space = space + if time_remaining is not None: + self.time_remaining = time_remaining + if volume_count is not None: + self.volume_count = volume_count + if pod is not None: + self.pod = pod + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VolumeGroup`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VolumeGroup`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VolumeGroup`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VolumeGroup`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(VolumeGroup, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, VolumeGroup): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/volume_group_get_response.py b/pypureclient/flasharray/FA_2_26/models/volume_group_get_response.py new file mode 100644 index 000000000..db91986be --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/volume_group_get_response.py @@ -0,0 +1,153 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class VolumeGroupGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[VolumeGroup]', + 'total': 'list[VolumeGroup]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items', + 'total': 'total' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.VolumeGroup] + total=None, # type: List[models.VolumeGroup] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[VolumeGroup]) + total (list[VolumeGroup]): The aggregate value of all items after filtering. Where meaningful, the average value is displayed instead. If applicable, the values are displayed for each field. + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + if total is not None: + self.total = total + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VolumeGroupGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VolumeGroupGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VolumeGroupGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VolumeGroupGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(VolumeGroupGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, VolumeGroupGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/volume_group_patch.py b/pypureclient/flasharray/FA_2_26/models/volume_group_patch.py new file mode 100644 index 000000000..249e23331 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/volume_group_patch.py @@ -0,0 +1,159 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class VolumeGroupPatch(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'id': 'str', + 'name': 'str', + 'destroyed': 'bool', + 'qos': 'Qos', + 'priority_adjustment': 'PriorityAdjustment', + 'space': 'Space' + } + + attribute_map = { + 'id': 'id', + 'name': 'name', + 'destroyed': 'destroyed', + 'qos': 'qos', + 'priority_adjustment': 'priority_adjustment', + 'space': 'space' + } + + required_args = { + } + + def __init__( + self, + id=None, # type: str + name=None, # type: str + destroyed=None, # type: bool + qos=None, # type: models.Qos + priority_adjustment=None, # type: models.PriorityAdjustment + space=None, # type: models.Space + ): + """ + Keyword args: + id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. + name (str): A user-specified name. The name must be locally unique and can be changed. + destroyed (bool): Returns a value of `true` if the volume group has been destroyed and is pending eradication. Before the `time_remaining` period has elapsed, the destroyed volume group can be recovered by setting `destroyed=false`. After the `time_remaining` period has elapsed, the volume group is permanently eradicated and cannot be recovered. + qos (Qos) + priority_adjustment (PriorityAdjustment) + space (Space) + """ + if id is not None: + self.id = id + if name is not None: + self.name = name + if destroyed is not None: + self.destroyed = destroyed + if qos is not None: + self.qos = qos + if priority_adjustment is not None: + self.priority_adjustment = priority_adjustment + if space is not None: + self.space = space + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VolumeGroupPatch`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VolumeGroupPatch`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VolumeGroupPatch`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VolumeGroupPatch`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(VolumeGroupPatch, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, VolumeGroupPatch): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/volume_group_performance.py b/pypureclient/flasharray/FA_2_26/models/volume_group_performance.py new file mode 100644 index 000000000..a3d884b44 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/volume_group_performance.py @@ -0,0 +1,377 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class VolumeGroupPerformance(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'bytes_per_mirrored_write': 'int', + 'bytes_per_op': 'int', + 'bytes_per_read': 'int', + 'bytes_per_write': 'int', + 'mirrored_write_bytes_per_sec': 'int', + 'mirrored_writes_per_sec': 'int', + 'qos_rate_limit_usec_per_mirrored_write_op': 'int', + 'qos_rate_limit_usec_per_read_op': 'int', + 'qos_rate_limit_usec_per_write_op': 'int', + 'queue_usec_per_mirrored_write_op': 'int', + 'queue_usec_per_read_op': 'int', + 'queue_usec_per_write_op': 'int', + 'read_bytes_per_sec': 'int', + 'reads_per_sec': 'int', + 'san_usec_per_mirrored_write_op': 'int', + 'san_usec_per_read_op': 'int', + 'san_usec_per_write_op': 'int', + 'service_usec_per_mirrored_write_op': 'int', + 'service_usec_per_read_op': 'int', + 'service_usec_per_write_op': 'int', + 'time': 'int', + 'usec_per_mirrored_write_op': 'int', + 'usec_per_read_op': 'int', + 'usec_per_write_op': 'int', + 'write_bytes_per_sec': 'int', + 'writes_per_sec': 'int', + 'service_usec_per_read_op_cache_reduction': 'float', + 'id': 'str', + 'name': 'str' + } + + attribute_map = { + 'bytes_per_mirrored_write': 'bytes_per_mirrored_write', + 'bytes_per_op': 'bytes_per_op', + 'bytes_per_read': 'bytes_per_read', + 'bytes_per_write': 'bytes_per_write', + 'mirrored_write_bytes_per_sec': 'mirrored_write_bytes_per_sec', + 'mirrored_writes_per_sec': 'mirrored_writes_per_sec', + 'qos_rate_limit_usec_per_mirrored_write_op': 'qos_rate_limit_usec_per_mirrored_write_op', + 'qos_rate_limit_usec_per_read_op': 'qos_rate_limit_usec_per_read_op', + 'qos_rate_limit_usec_per_write_op': 'qos_rate_limit_usec_per_write_op', + 'queue_usec_per_mirrored_write_op': 'queue_usec_per_mirrored_write_op', + 'queue_usec_per_read_op': 'queue_usec_per_read_op', + 'queue_usec_per_write_op': 'queue_usec_per_write_op', + 'read_bytes_per_sec': 'read_bytes_per_sec', + 'reads_per_sec': 'reads_per_sec', + 'san_usec_per_mirrored_write_op': 'san_usec_per_mirrored_write_op', + 'san_usec_per_read_op': 'san_usec_per_read_op', + 'san_usec_per_write_op': 'san_usec_per_write_op', + 'service_usec_per_mirrored_write_op': 'service_usec_per_mirrored_write_op', + 'service_usec_per_read_op': 'service_usec_per_read_op', + 'service_usec_per_write_op': 'service_usec_per_write_op', + 'time': 'time', + 'usec_per_mirrored_write_op': 'usec_per_mirrored_write_op', + 'usec_per_read_op': 'usec_per_read_op', + 'usec_per_write_op': 'usec_per_write_op', + 'write_bytes_per_sec': 'write_bytes_per_sec', + 'writes_per_sec': 'writes_per_sec', + 'service_usec_per_read_op_cache_reduction': 'service_usec_per_read_op_cache_reduction', + 'id': 'id', + 'name': 'name' + } + + required_args = { + } + + def __init__( + self, + bytes_per_mirrored_write=None, # type: int + bytes_per_op=None, # type: int + bytes_per_read=None, # type: int + bytes_per_write=None, # type: int + mirrored_write_bytes_per_sec=None, # type: int + mirrored_writes_per_sec=None, # type: int + qos_rate_limit_usec_per_mirrored_write_op=None, # type: int + qos_rate_limit_usec_per_read_op=None, # type: int + qos_rate_limit_usec_per_write_op=None, # type: int + queue_usec_per_mirrored_write_op=None, # type: int + queue_usec_per_read_op=None, # type: int + queue_usec_per_write_op=None, # type: int + read_bytes_per_sec=None, # type: int + reads_per_sec=None, # type: int + san_usec_per_mirrored_write_op=None, # type: int + san_usec_per_read_op=None, # type: int + san_usec_per_write_op=None, # type: int + service_usec_per_mirrored_write_op=None, # type: int + service_usec_per_read_op=None, # type: int + service_usec_per_write_op=None, # type: int + time=None, # type: int + usec_per_mirrored_write_op=None, # type: int + usec_per_read_op=None, # type: int + usec_per_write_op=None, # type: int + write_bytes_per_sec=None, # type: int + writes_per_sec=None, # type: int + service_usec_per_read_op_cache_reduction=None, # type: float + id=None, # type: str + name=None, # type: str + ): + """ + Keyword args: + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. + bytes_per_op (int): The average I/O size for both read and write (all) operations. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. + mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. + mirrored_writes_per_sec (int): The number of mirrored writes per second. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. + read_bytes_per_sec (int): The number of bytes read per second. + reads_per_sec (int): The number of read requests processed per second. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + write_bytes_per_sec (int): The number of bytes written per second. + writes_per_sec (int): The number of write requests processed per second. + service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. + id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. + name (str): A user-specified name. The name must be locally unique and can be changed. + """ + if bytes_per_mirrored_write is not None: + self.bytes_per_mirrored_write = bytes_per_mirrored_write + if bytes_per_op is not None: + self.bytes_per_op = bytes_per_op + if bytes_per_read is not None: + self.bytes_per_read = bytes_per_read + if bytes_per_write is not None: + self.bytes_per_write = bytes_per_write + if mirrored_write_bytes_per_sec is not None: + self.mirrored_write_bytes_per_sec = mirrored_write_bytes_per_sec + if mirrored_writes_per_sec is not None: + self.mirrored_writes_per_sec = mirrored_writes_per_sec + if qos_rate_limit_usec_per_mirrored_write_op is not None: + self.qos_rate_limit_usec_per_mirrored_write_op = qos_rate_limit_usec_per_mirrored_write_op + if qos_rate_limit_usec_per_read_op is not None: + self.qos_rate_limit_usec_per_read_op = qos_rate_limit_usec_per_read_op + if qos_rate_limit_usec_per_write_op is not None: + self.qos_rate_limit_usec_per_write_op = qos_rate_limit_usec_per_write_op + if queue_usec_per_mirrored_write_op is not None: + self.queue_usec_per_mirrored_write_op = queue_usec_per_mirrored_write_op + if queue_usec_per_read_op is not None: + self.queue_usec_per_read_op = queue_usec_per_read_op + if queue_usec_per_write_op is not None: + self.queue_usec_per_write_op = queue_usec_per_write_op + if read_bytes_per_sec is not None: + self.read_bytes_per_sec = read_bytes_per_sec + if reads_per_sec is not None: + self.reads_per_sec = reads_per_sec + if san_usec_per_mirrored_write_op is not None: + self.san_usec_per_mirrored_write_op = san_usec_per_mirrored_write_op + if san_usec_per_read_op is not None: + self.san_usec_per_read_op = san_usec_per_read_op + if san_usec_per_write_op is not None: + self.san_usec_per_write_op = san_usec_per_write_op + if service_usec_per_mirrored_write_op is not None: + self.service_usec_per_mirrored_write_op = service_usec_per_mirrored_write_op + if service_usec_per_read_op is not None: + self.service_usec_per_read_op = service_usec_per_read_op + if service_usec_per_write_op is not None: + self.service_usec_per_write_op = service_usec_per_write_op + if time is not None: + self.time = time + if usec_per_mirrored_write_op is not None: + self.usec_per_mirrored_write_op = usec_per_mirrored_write_op + if usec_per_read_op is not None: + self.usec_per_read_op = usec_per_read_op + if usec_per_write_op is not None: + self.usec_per_write_op = usec_per_write_op + if write_bytes_per_sec is not None: + self.write_bytes_per_sec = write_bytes_per_sec + if writes_per_sec is not None: + self.writes_per_sec = writes_per_sec + if service_usec_per_read_op_cache_reduction is not None: + self.service_usec_per_read_op_cache_reduction = service_usec_per_read_op_cache_reduction + if id is not None: + self.id = id + if name is not None: + self.name = name + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VolumeGroupPerformance`".format(key)) + if key == "bytes_per_mirrored_write" and value is not None: + if value < 0: + raise ValueError("Invalid value for `bytes_per_mirrored_write`, must be a value greater than or equal to `0`") + if key == "bytes_per_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `bytes_per_op`, must be a value greater than or equal to `0`") + if key == "bytes_per_read" and value is not None: + if value < 0: + raise ValueError("Invalid value for `bytes_per_read`, must be a value greater than or equal to `0`") + if key == "bytes_per_write" and value is not None: + if value < 0: + raise ValueError("Invalid value for `bytes_per_write`, must be a value greater than or equal to `0`") + if key == "mirrored_write_bytes_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `mirrored_write_bytes_per_sec`, must be a value greater than or equal to `0`") + if key == "mirrored_writes_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `mirrored_writes_per_sec`, must be a value greater than or equal to `0`") + if key == "qos_rate_limit_usec_per_mirrored_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `qos_rate_limit_usec_per_mirrored_write_op`, must be a value greater than or equal to `0`") + if key == "qos_rate_limit_usec_per_read_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `qos_rate_limit_usec_per_read_op`, must be a value greater than or equal to `0`") + if key == "qos_rate_limit_usec_per_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `qos_rate_limit_usec_per_write_op`, must be a value greater than or equal to `0`") + if key == "queue_usec_per_mirrored_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `queue_usec_per_mirrored_write_op`, must be a value greater than or equal to `0`") + if key == "queue_usec_per_read_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `queue_usec_per_read_op`, must be a value greater than or equal to `0`") + if key == "queue_usec_per_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `queue_usec_per_write_op`, must be a value greater than or equal to `0`") + if key == "read_bytes_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `read_bytes_per_sec`, must be a value greater than or equal to `0`") + if key == "reads_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `reads_per_sec`, must be a value greater than or equal to `0`") + if key == "san_usec_per_mirrored_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `san_usec_per_mirrored_write_op`, must be a value greater than or equal to `0`") + if key == "san_usec_per_read_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `san_usec_per_read_op`, must be a value greater than or equal to `0`") + if key == "san_usec_per_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `san_usec_per_write_op`, must be a value greater than or equal to `0`") + if key == "service_usec_per_mirrored_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `service_usec_per_mirrored_write_op`, must be a value greater than or equal to `0`") + if key == "service_usec_per_read_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `service_usec_per_read_op`, must be a value greater than or equal to `0`") + if key == "service_usec_per_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `service_usec_per_write_op`, must be a value greater than or equal to `0`") + if key == "usec_per_mirrored_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `usec_per_mirrored_write_op`, must be a value greater than or equal to `0`") + if key == "usec_per_read_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `usec_per_read_op`, must be a value greater than or equal to `0`") + if key == "usec_per_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `usec_per_write_op`, must be a value greater than or equal to `0`") + if key == "write_bytes_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `write_bytes_per_sec`, must be a value greater than or equal to `0`") + if key == "writes_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `writes_per_sec`, must be a value greater than or equal to `0`") + if key == "service_usec_per_read_op_cache_reduction" and value is not None: + if value > 1.0: + raise ValueError("Invalid value for `service_usec_per_read_op_cache_reduction`, value must be less than or equal to `1.0`") + if value < 0.0: + raise ValueError("Invalid value for `service_usec_per_read_op_cache_reduction`, must be a value greater than or equal to `0.0`") + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VolumeGroupPerformance`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VolumeGroupPerformance`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VolumeGroupPerformance`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(VolumeGroupPerformance, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, VolumeGroupPerformance): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/volume_group_post.py b/pypureclient/flasharray/FA_2_26/models/volume_group_post.py new file mode 100644 index 000000000..4f9de3b60 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/volume_group_post.py @@ -0,0 +1,171 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class VolumeGroupPost(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'id': 'str', + 'name': 'str', + 'qos': 'Qos', + 'priority_adjustment': 'PriorityAdjustment', + 'space': 'Space', + 'time_remaining': 'int', + 'volume_count': 'int', + 'destroyed': 'bool' + } + + attribute_map = { + 'id': 'id', + 'name': 'name', + 'qos': 'qos', + 'priority_adjustment': 'priority_adjustment', + 'space': 'space', + 'time_remaining': 'time_remaining', + 'volume_count': 'volume_count', + 'destroyed': 'destroyed' + } + + required_args = { + } + + def __init__( + self, + id=None, # type: str + name=None, # type: str + qos=None, # type: models.Qos + priority_adjustment=None, # type: models.PriorityAdjustment + space=None, # type: models.Space + time_remaining=None, # type: int + volume_count=None, # type: int + destroyed=None, # type: bool + ): + """ + Keyword args: + id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. + name (str): A user-specified name. The name must be locally unique and can be changed. + qos (Qos) + priority_adjustment (PriorityAdjustment) + space (Space) + time_remaining (int): The amount of time left until the destroyed volume group is permanently eradicated, measured in milliseconds. + volume_count (int): The number of volumes in the volume group. + destroyed (bool): If set to `true`, destroys a volume group. If set to `false`, recovers a destroyed volume group. If not specified, defaults to `false`. + """ + if id is not None: + self.id = id + if name is not None: + self.name = name + if qos is not None: + self.qos = qos + if priority_adjustment is not None: + self.priority_adjustment = priority_adjustment + if space is not None: + self.space = space + if time_remaining is not None: + self.time_remaining = time_remaining + if volume_count is not None: + self.volume_count = volume_count + if destroyed is not None: + self.destroyed = destroyed + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VolumeGroupPost`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VolumeGroupPost`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VolumeGroupPost`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VolumeGroupPost`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(VolumeGroupPost, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, VolumeGroupPost): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/volume_group_response.py b/pypureclient/flasharray/FA_2_26/models/volume_group_response.py new file mode 100644 index 000000000..5c0df051b --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/volume_group_response.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class VolumeGroupResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'items': 'list[VolumeGroup]' + } + + attribute_map = { + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + items=None, # type: List[models.VolumeGroup] + ): + """ + Keyword args: + items (list[VolumeGroup]) + """ + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VolumeGroupResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VolumeGroupResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VolumeGroupResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VolumeGroupResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(VolumeGroupResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, VolumeGroupResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/volume_group_space.py b/pypureclient/flasharray/FA_2_26/models/volume_group_space.py new file mode 100644 index 000000000..e475e7d87 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/volume_group_space.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class VolumeGroupSpace(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'id': 'str', + 'name': 'str', + 'space': 'Space', + 'time': 'int' + } + + attribute_map = { + 'id': 'id', + 'name': 'name', + 'space': 'space', + 'time': 'time' + } + + required_args = { + } + + def __init__( + self, + id=None, # type: str + name=None, # type: str + space=None, # type: models.Space + time=None, # type: int + ): + """ + Keyword args: + id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. + name (str): A locally unique, system-generated name. The name cannot be modified. + space (Space): Displays size and space consumption information. + time (int): The timestamp of when the data was taken, measured in milliseconds since the UNIX epoch. + """ + if id is not None: + self.id = id + if name is not None: + self.name = name + if space is not None: + self.space = space + if time is not None: + self.time = time + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VolumeGroupSpace`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VolumeGroupSpace`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VolumeGroupSpace`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VolumeGroupSpace`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(VolumeGroupSpace, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, VolumeGroupSpace): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/volume_patch.py b/pypureclient/flasharray/FA_2_26/models/volume_patch.py new file mode 100644 index 000000000..3805beb40 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/volume_patch.py @@ -0,0 +1,174 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class VolumePatch(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'destroyed': 'bool', + 'name': 'str', + 'pod': 'Reference', + 'priority_adjustment': 'PriorityAdjustment', + 'provisioned': 'int', + 'qos': 'Qos', + 'requested_promotion_state': 'str', + 'volume_group': 'Reference' + } + + attribute_map = { + 'destroyed': 'destroyed', + 'name': 'name', + 'pod': 'pod', + 'priority_adjustment': 'priority_adjustment', + 'provisioned': 'provisioned', + 'qos': 'qos', + 'requested_promotion_state': 'requested_promotion_state', + 'volume_group': 'volume_group' + } + + required_args = { + } + + def __init__( + self, + destroyed=None, # type: bool + name=None, # type: str + pod=None, # type: models.Reference + priority_adjustment=None, # type: models.PriorityAdjustment + provisioned=None, # type: int + qos=None, # type: models.Qos + requested_promotion_state=None, # type: str + volume_group=None, # type: models.Reference + ): + """ + Keyword args: + destroyed (bool): If set to `true`, destroys a resource. Once set to `true`, the `time_remaining` value will display the amount of time left until the destroyed resource is permanently eradicated. Before the `time_remaining` period has elapsed, the destroyed resource can be recovered by setting `destroyed=false`. Once the `time_remaining` period has elapsed, the resource is permanently eradicated and can no longer be recovered. + name (str): The new name for the resource. + pod (Reference): Moves the volume into the specified pod. + priority_adjustment (PriorityAdjustment): Adjusts volume priority. + provisioned (int): Updates the virtual size of the volume, measured in bytes. + qos (Qos): Sets QoS limits. + requested_promotion_state (str): Valid values are `promoted` and `demoted`. Patch `requested_promotion_state` to `demoted` to demote the volume so that the volume stops accepting write requests. Patch `requested_promotion_state` to `promoted` to promote the volume so that the volume starts accepting write requests. + volume_group (Reference): Adds the volume to the specified volume group. + """ + if destroyed is not None: + self.destroyed = destroyed + if name is not None: + self.name = name + if pod is not None: + self.pod = pod + if priority_adjustment is not None: + self.priority_adjustment = priority_adjustment + if provisioned is not None: + self.provisioned = provisioned + if qos is not None: + self.qos = qos + if requested_promotion_state is not None: + self.requested_promotion_state = requested_promotion_state + if volume_group is not None: + self.volume_group = volume_group + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VolumePatch`".format(key)) + if key == "provisioned" and value is not None: + if value > 4503599627370496: + raise ValueError("Invalid value for `provisioned`, value must be less than or equal to `4503599627370496`") + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VolumePatch`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VolumePatch`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VolumePatch`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(VolumePatch, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, VolumePatch): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/volume_performance.py b/pypureclient/flasharray/FA_2_26/models/volume_performance.py new file mode 100644 index 000000000..22e13b1e9 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/volume_performance.py @@ -0,0 +1,377 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class VolumePerformance(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'bytes_per_mirrored_write': 'int', + 'bytes_per_op': 'int', + 'bytes_per_read': 'int', + 'bytes_per_write': 'int', + 'mirrored_write_bytes_per_sec': 'int', + 'mirrored_writes_per_sec': 'int', + 'qos_rate_limit_usec_per_mirrored_write_op': 'int', + 'qos_rate_limit_usec_per_read_op': 'int', + 'qos_rate_limit_usec_per_write_op': 'int', + 'queue_usec_per_mirrored_write_op': 'int', + 'queue_usec_per_read_op': 'int', + 'queue_usec_per_write_op': 'int', + 'read_bytes_per_sec': 'int', + 'reads_per_sec': 'int', + 'san_usec_per_mirrored_write_op': 'int', + 'san_usec_per_read_op': 'int', + 'san_usec_per_write_op': 'int', + 'service_usec_per_mirrored_write_op': 'int', + 'service_usec_per_read_op': 'int', + 'service_usec_per_write_op': 'int', + 'time': 'int', + 'usec_per_mirrored_write_op': 'int', + 'usec_per_read_op': 'int', + 'usec_per_write_op': 'int', + 'write_bytes_per_sec': 'int', + 'writes_per_sec': 'int', + 'service_usec_per_read_op_cache_reduction': 'float', + 'id': 'str', + 'name': 'str' + } + + attribute_map = { + 'bytes_per_mirrored_write': 'bytes_per_mirrored_write', + 'bytes_per_op': 'bytes_per_op', + 'bytes_per_read': 'bytes_per_read', + 'bytes_per_write': 'bytes_per_write', + 'mirrored_write_bytes_per_sec': 'mirrored_write_bytes_per_sec', + 'mirrored_writes_per_sec': 'mirrored_writes_per_sec', + 'qos_rate_limit_usec_per_mirrored_write_op': 'qos_rate_limit_usec_per_mirrored_write_op', + 'qos_rate_limit_usec_per_read_op': 'qos_rate_limit_usec_per_read_op', + 'qos_rate_limit_usec_per_write_op': 'qos_rate_limit_usec_per_write_op', + 'queue_usec_per_mirrored_write_op': 'queue_usec_per_mirrored_write_op', + 'queue_usec_per_read_op': 'queue_usec_per_read_op', + 'queue_usec_per_write_op': 'queue_usec_per_write_op', + 'read_bytes_per_sec': 'read_bytes_per_sec', + 'reads_per_sec': 'reads_per_sec', + 'san_usec_per_mirrored_write_op': 'san_usec_per_mirrored_write_op', + 'san_usec_per_read_op': 'san_usec_per_read_op', + 'san_usec_per_write_op': 'san_usec_per_write_op', + 'service_usec_per_mirrored_write_op': 'service_usec_per_mirrored_write_op', + 'service_usec_per_read_op': 'service_usec_per_read_op', + 'service_usec_per_write_op': 'service_usec_per_write_op', + 'time': 'time', + 'usec_per_mirrored_write_op': 'usec_per_mirrored_write_op', + 'usec_per_read_op': 'usec_per_read_op', + 'usec_per_write_op': 'usec_per_write_op', + 'write_bytes_per_sec': 'write_bytes_per_sec', + 'writes_per_sec': 'writes_per_sec', + 'service_usec_per_read_op_cache_reduction': 'service_usec_per_read_op_cache_reduction', + 'id': 'id', + 'name': 'name' + } + + required_args = { + } + + def __init__( + self, + bytes_per_mirrored_write=None, # type: int + bytes_per_op=None, # type: int + bytes_per_read=None, # type: int + bytes_per_write=None, # type: int + mirrored_write_bytes_per_sec=None, # type: int + mirrored_writes_per_sec=None, # type: int + qos_rate_limit_usec_per_mirrored_write_op=None, # type: int + qos_rate_limit_usec_per_read_op=None, # type: int + qos_rate_limit_usec_per_write_op=None, # type: int + queue_usec_per_mirrored_write_op=None, # type: int + queue_usec_per_read_op=None, # type: int + queue_usec_per_write_op=None, # type: int + read_bytes_per_sec=None, # type: int + reads_per_sec=None, # type: int + san_usec_per_mirrored_write_op=None, # type: int + san_usec_per_read_op=None, # type: int + san_usec_per_write_op=None, # type: int + service_usec_per_mirrored_write_op=None, # type: int + service_usec_per_read_op=None, # type: int + service_usec_per_write_op=None, # type: int + time=None, # type: int + usec_per_mirrored_write_op=None, # type: int + usec_per_read_op=None, # type: int + usec_per_write_op=None, # type: int + write_bytes_per_sec=None, # type: int + writes_per_sec=None, # type: int + service_usec_per_read_op_cache_reduction=None, # type: float + id=None, # type: str + name=None, # type: str + ): + """ + Keyword args: + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. + bytes_per_op (int): The average I/O size for both read and write (all) operations. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. + mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. + mirrored_writes_per_sec (int): The number of mirrored writes per second. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. + read_bytes_per_sec (int): The number of bytes read per second. + reads_per_sec (int): The number of read requests processed per second. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + write_bytes_per_sec (int): The number of bytes written per second. + writes_per_sec (int): The number of write requests processed per second. + service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. + id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. + name (str): A user-specified name. The name must be locally unique and can be changed. + """ + if bytes_per_mirrored_write is not None: + self.bytes_per_mirrored_write = bytes_per_mirrored_write + if bytes_per_op is not None: + self.bytes_per_op = bytes_per_op + if bytes_per_read is not None: + self.bytes_per_read = bytes_per_read + if bytes_per_write is not None: + self.bytes_per_write = bytes_per_write + if mirrored_write_bytes_per_sec is not None: + self.mirrored_write_bytes_per_sec = mirrored_write_bytes_per_sec + if mirrored_writes_per_sec is not None: + self.mirrored_writes_per_sec = mirrored_writes_per_sec + if qos_rate_limit_usec_per_mirrored_write_op is not None: + self.qos_rate_limit_usec_per_mirrored_write_op = qos_rate_limit_usec_per_mirrored_write_op + if qos_rate_limit_usec_per_read_op is not None: + self.qos_rate_limit_usec_per_read_op = qos_rate_limit_usec_per_read_op + if qos_rate_limit_usec_per_write_op is not None: + self.qos_rate_limit_usec_per_write_op = qos_rate_limit_usec_per_write_op + if queue_usec_per_mirrored_write_op is not None: + self.queue_usec_per_mirrored_write_op = queue_usec_per_mirrored_write_op + if queue_usec_per_read_op is not None: + self.queue_usec_per_read_op = queue_usec_per_read_op + if queue_usec_per_write_op is not None: + self.queue_usec_per_write_op = queue_usec_per_write_op + if read_bytes_per_sec is not None: + self.read_bytes_per_sec = read_bytes_per_sec + if reads_per_sec is not None: + self.reads_per_sec = reads_per_sec + if san_usec_per_mirrored_write_op is not None: + self.san_usec_per_mirrored_write_op = san_usec_per_mirrored_write_op + if san_usec_per_read_op is not None: + self.san_usec_per_read_op = san_usec_per_read_op + if san_usec_per_write_op is not None: + self.san_usec_per_write_op = san_usec_per_write_op + if service_usec_per_mirrored_write_op is not None: + self.service_usec_per_mirrored_write_op = service_usec_per_mirrored_write_op + if service_usec_per_read_op is not None: + self.service_usec_per_read_op = service_usec_per_read_op + if service_usec_per_write_op is not None: + self.service_usec_per_write_op = service_usec_per_write_op + if time is not None: + self.time = time + if usec_per_mirrored_write_op is not None: + self.usec_per_mirrored_write_op = usec_per_mirrored_write_op + if usec_per_read_op is not None: + self.usec_per_read_op = usec_per_read_op + if usec_per_write_op is not None: + self.usec_per_write_op = usec_per_write_op + if write_bytes_per_sec is not None: + self.write_bytes_per_sec = write_bytes_per_sec + if writes_per_sec is not None: + self.writes_per_sec = writes_per_sec + if service_usec_per_read_op_cache_reduction is not None: + self.service_usec_per_read_op_cache_reduction = service_usec_per_read_op_cache_reduction + if id is not None: + self.id = id + if name is not None: + self.name = name + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VolumePerformance`".format(key)) + if key == "bytes_per_mirrored_write" and value is not None: + if value < 0: + raise ValueError("Invalid value for `bytes_per_mirrored_write`, must be a value greater than or equal to `0`") + if key == "bytes_per_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `bytes_per_op`, must be a value greater than or equal to `0`") + if key == "bytes_per_read" and value is not None: + if value < 0: + raise ValueError("Invalid value for `bytes_per_read`, must be a value greater than or equal to `0`") + if key == "bytes_per_write" and value is not None: + if value < 0: + raise ValueError("Invalid value for `bytes_per_write`, must be a value greater than or equal to `0`") + if key == "mirrored_write_bytes_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `mirrored_write_bytes_per_sec`, must be a value greater than or equal to `0`") + if key == "mirrored_writes_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `mirrored_writes_per_sec`, must be a value greater than or equal to `0`") + if key == "qos_rate_limit_usec_per_mirrored_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `qos_rate_limit_usec_per_mirrored_write_op`, must be a value greater than or equal to `0`") + if key == "qos_rate_limit_usec_per_read_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `qos_rate_limit_usec_per_read_op`, must be a value greater than or equal to `0`") + if key == "qos_rate_limit_usec_per_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `qos_rate_limit_usec_per_write_op`, must be a value greater than or equal to `0`") + if key == "queue_usec_per_mirrored_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `queue_usec_per_mirrored_write_op`, must be a value greater than or equal to `0`") + if key == "queue_usec_per_read_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `queue_usec_per_read_op`, must be a value greater than or equal to `0`") + if key == "queue_usec_per_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `queue_usec_per_write_op`, must be a value greater than or equal to `0`") + if key == "read_bytes_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `read_bytes_per_sec`, must be a value greater than or equal to `0`") + if key == "reads_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `reads_per_sec`, must be a value greater than or equal to `0`") + if key == "san_usec_per_mirrored_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `san_usec_per_mirrored_write_op`, must be a value greater than or equal to `0`") + if key == "san_usec_per_read_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `san_usec_per_read_op`, must be a value greater than or equal to `0`") + if key == "san_usec_per_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `san_usec_per_write_op`, must be a value greater than or equal to `0`") + if key == "service_usec_per_mirrored_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `service_usec_per_mirrored_write_op`, must be a value greater than or equal to `0`") + if key == "service_usec_per_read_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `service_usec_per_read_op`, must be a value greater than or equal to `0`") + if key == "service_usec_per_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `service_usec_per_write_op`, must be a value greater than or equal to `0`") + if key == "usec_per_mirrored_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `usec_per_mirrored_write_op`, must be a value greater than or equal to `0`") + if key == "usec_per_read_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `usec_per_read_op`, must be a value greater than or equal to `0`") + if key == "usec_per_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `usec_per_write_op`, must be a value greater than or equal to `0`") + if key == "write_bytes_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `write_bytes_per_sec`, must be a value greater than or equal to `0`") + if key == "writes_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `writes_per_sec`, must be a value greater than or equal to `0`") + if key == "service_usec_per_read_op_cache_reduction" and value is not None: + if value > 1.0: + raise ValueError("Invalid value for `service_usec_per_read_op_cache_reduction`, value must be less than or equal to `1.0`") + if value < 0.0: + raise ValueError("Invalid value for `service_usec_per_read_op_cache_reduction`, must be a value greater than or equal to `0.0`") + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VolumePerformance`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VolumePerformance`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VolumePerformance`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(VolumePerformance, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, VolumePerformance): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/volume_performance_by_array.py b/pypureclient/flasharray/FA_2_26/models/volume_performance_by_array.py new file mode 100644 index 000000000..94f0c90a3 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/volume_performance_by_array.py @@ -0,0 +1,383 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class VolumePerformanceByArray(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'bytes_per_mirrored_write': 'int', + 'bytes_per_op': 'int', + 'bytes_per_read': 'int', + 'bytes_per_write': 'int', + 'mirrored_write_bytes_per_sec': 'int', + 'mirrored_writes_per_sec': 'int', + 'qos_rate_limit_usec_per_mirrored_write_op': 'int', + 'qos_rate_limit_usec_per_read_op': 'int', + 'qos_rate_limit_usec_per_write_op': 'int', + 'queue_usec_per_mirrored_write_op': 'int', + 'queue_usec_per_read_op': 'int', + 'queue_usec_per_write_op': 'int', + 'read_bytes_per_sec': 'int', + 'reads_per_sec': 'int', + 'san_usec_per_mirrored_write_op': 'int', + 'san_usec_per_read_op': 'int', + 'san_usec_per_write_op': 'int', + 'service_usec_per_mirrored_write_op': 'int', + 'service_usec_per_read_op': 'int', + 'service_usec_per_write_op': 'int', + 'time': 'int', + 'usec_per_mirrored_write_op': 'int', + 'usec_per_read_op': 'int', + 'usec_per_write_op': 'int', + 'write_bytes_per_sec': 'int', + 'writes_per_sec': 'int', + 'service_usec_per_read_op_cache_reduction': 'float', + 'id': 'str', + 'name': 'str', + 'array': 'Resource' + } + + attribute_map = { + 'bytes_per_mirrored_write': 'bytes_per_mirrored_write', + 'bytes_per_op': 'bytes_per_op', + 'bytes_per_read': 'bytes_per_read', + 'bytes_per_write': 'bytes_per_write', + 'mirrored_write_bytes_per_sec': 'mirrored_write_bytes_per_sec', + 'mirrored_writes_per_sec': 'mirrored_writes_per_sec', + 'qos_rate_limit_usec_per_mirrored_write_op': 'qos_rate_limit_usec_per_mirrored_write_op', + 'qos_rate_limit_usec_per_read_op': 'qos_rate_limit_usec_per_read_op', + 'qos_rate_limit_usec_per_write_op': 'qos_rate_limit_usec_per_write_op', + 'queue_usec_per_mirrored_write_op': 'queue_usec_per_mirrored_write_op', + 'queue_usec_per_read_op': 'queue_usec_per_read_op', + 'queue_usec_per_write_op': 'queue_usec_per_write_op', + 'read_bytes_per_sec': 'read_bytes_per_sec', + 'reads_per_sec': 'reads_per_sec', + 'san_usec_per_mirrored_write_op': 'san_usec_per_mirrored_write_op', + 'san_usec_per_read_op': 'san_usec_per_read_op', + 'san_usec_per_write_op': 'san_usec_per_write_op', + 'service_usec_per_mirrored_write_op': 'service_usec_per_mirrored_write_op', + 'service_usec_per_read_op': 'service_usec_per_read_op', + 'service_usec_per_write_op': 'service_usec_per_write_op', + 'time': 'time', + 'usec_per_mirrored_write_op': 'usec_per_mirrored_write_op', + 'usec_per_read_op': 'usec_per_read_op', + 'usec_per_write_op': 'usec_per_write_op', + 'write_bytes_per_sec': 'write_bytes_per_sec', + 'writes_per_sec': 'writes_per_sec', + 'service_usec_per_read_op_cache_reduction': 'service_usec_per_read_op_cache_reduction', + 'id': 'id', + 'name': 'name', + 'array': 'array' + } + + required_args = { + } + + def __init__( + self, + bytes_per_mirrored_write=None, # type: int + bytes_per_op=None, # type: int + bytes_per_read=None, # type: int + bytes_per_write=None, # type: int + mirrored_write_bytes_per_sec=None, # type: int + mirrored_writes_per_sec=None, # type: int + qos_rate_limit_usec_per_mirrored_write_op=None, # type: int + qos_rate_limit_usec_per_read_op=None, # type: int + qos_rate_limit_usec_per_write_op=None, # type: int + queue_usec_per_mirrored_write_op=None, # type: int + queue_usec_per_read_op=None, # type: int + queue_usec_per_write_op=None, # type: int + read_bytes_per_sec=None, # type: int + reads_per_sec=None, # type: int + san_usec_per_mirrored_write_op=None, # type: int + san_usec_per_read_op=None, # type: int + san_usec_per_write_op=None, # type: int + service_usec_per_mirrored_write_op=None, # type: int + service_usec_per_read_op=None, # type: int + service_usec_per_write_op=None, # type: int + time=None, # type: int + usec_per_mirrored_write_op=None, # type: int + usec_per_read_op=None, # type: int + usec_per_write_op=None, # type: int + write_bytes_per_sec=None, # type: int + writes_per_sec=None, # type: int + service_usec_per_read_op_cache_reduction=None, # type: float + id=None, # type: str + name=None, # type: str + array=None, # type: models.Resource + ): + """ + Keyword args: + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. + bytes_per_op (int): The average I/O size for both read and write (all) operations. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. + mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. + mirrored_writes_per_sec (int): The number of mirrored writes per second. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. + read_bytes_per_sec (int): The number of bytes read per second. + reads_per_sec (int): The number of read requests processed per second. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + write_bytes_per_sec (int): The number of bytes written per second. + writes_per_sec (int): The number of write requests processed per second. + service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. + id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. + name (str): A user-specified name. The name must be locally unique and can be changed. + array (Resource): The array on which the performance metrics were recorded. + """ + if bytes_per_mirrored_write is not None: + self.bytes_per_mirrored_write = bytes_per_mirrored_write + if bytes_per_op is not None: + self.bytes_per_op = bytes_per_op + if bytes_per_read is not None: + self.bytes_per_read = bytes_per_read + if bytes_per_write is not None: + self.bytes_per_write = bytes_per_write + if mirrored_write_bytes_per_sec is not None: + self.mirrored_write_bytes_per_sec = mirrored_write_bytes_per_sec + if mirrored_writes_per_sec is not None: + self.mirrored_writes_per_sec = mirrored_writes_per_sec + if qos_rate_limit_usec_per_mirrored_write_op is not None: + self.qos_rate_limit_usec_per_mirrored_write_op = qos_rate_limit_usec_per_mirrored_write_op + if qos_rate_limit_usec_per_read_op is not None: + self.qos_rate_limit_usec_per_read_op = qos_rate_limit_usec_per_read_op + if qos_rate_limit_usec_per_write_op is not None: + self.qos_rate_limit_usec_per_write_op = qos_rate_limit_usec_per_write_op + if queue_usec_per_mirrored_write_op is not None: + self.queue_usec_per_mirrored_write_op = queue_usec_per_mirrored_write_op + if queue_usec_per_read_op is not None: + self.queue_usec_per_read_op = queue_usec_per_read_op + if queue_usec_per_write_op is not None: + self.queue_usec_per_write_op = queue_usec_per_write_op + if read_bytes_per_sec is not None: + self.read_bytes_per_sec = read_bytes_per_sec + if reads_per_sec is not None: + self.reads_per_sec = reads_per_sec + if san_usec_per_mirrored_write_op is not None: + self.san_usec_per_mirrored_write_op = san_usec_per_mirrored_write_op + if san_usec_per_read_op is not None: + self.san_usec_per_read_op = san_usec_per_read_op + if san_usec_per_write_op is not None: + self.san_usec_per_write_op = san_usec_per_write_op + if service_usec_per_mirrored_write_op is not None: + self.service_usec_per_mirrored_write_op = service_usec_per_mirrored_write_op + if service_usec_per_read_op is not None: + self.service_usec_per_read_op = service_usec_per_read_op + if service_usec_per_write_op is not None: + self.service_usec_per_write_op = service_usec_per_write_op + if time is not None: + self.time = time + if usec_per_mirrored_write_op is not None: + self.usec_per_mirrored_write_op = usec_per_mirrored_write_op + if usec_per_read_op is not None: + self.usec_per_read_op = usec_per_read_op + if usec_per_write_op is not None: + self.usec_per_write_op = usec_per_write_op + if write_bytes_per_sec is not None: + self.write_bytes_per_sec = write_bytes_per_sec + if writes_per_sec is not None: + self.writes_per_sec = writes_per_sec + if service_usec_per_read_op_cache_reduction is not None: + self.service_usec_per_read_op_cache_reduction = service_usec_per_read_op_cache_reduction + if id is not None: + self.id = id + if name is not None: + self.name = name + if array is not None: + self.array = array + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VolumePerformanceByArray`".format(key)) + if key == "bytes_per_mirrored_write" and value is not None: + if value < 0: + raise ValueError("Invalid value for `bytes_per_mirrored_write`, must be a value greater than or equal to `0`") + if key == "bytes_per_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `bytes_per_op`, must be a value greater than or equal to `0`") + if key == "bytes_per_read" and value is not None: + if value < 0: + raise ValueError("Invalid value for `bytes_per_read`, must be a value greater than or equal to `0`") + if key == "bytes_per_write" and value is not None: + if value < 0: + raise ValueError("Invalid value for `bytes_per_write`, must be a value greater than or equal to `0`") + if key == "mirrored_write_bytes_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `mirrored_write_bytes_per_sec`, must be a value greater than or equal to `0`") + if key == "mirrored_writes_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `mirrored_writes_per_sec`, must be a value greater than or equal to `0`") + if key == "qos_rate_limit_usec_per_mirrored_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `qos_rate_limit_usec_per_mirrored_write_op`, must be a value greater than or equal to `0`") + if key == "qos_rate_limit_usec_per_read_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `qos_rate_limit_usec_per_read_op`, must be a value greater than or equal to `0`") + if key == "qos_rate_limit_usec_per_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `qos_rate_limit_usec_per_write_op`, must be a value greater than or equal to `0`") + if key == "queue_usec_per_mirrored_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `queue_usec_per_mirrored_write_op`, must be a value greater than or equal to `0`") + if key == "queue_usec_per_read_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `queue_usec_per_read_op`, must be a value greater than or equal to `0`") + if key == "queue_usec_per_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `queue_usec_per_write_op`, must be a value greater than or equal to `0`") + if key == "read_bytes_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `read_bytes_per_sec`, must be a value greater than or equal to `0`") + if key == "reads_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `reads_per_sec`, must be a value greater than or equal to `0`") + if key == "san_usec_per_mirrored_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `san_usec_per_mirrored_write_op`, must be a value greater than or equal to `0`") + if key == "san_usec_per_read_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `san_usec_per_read_op`, must be a value greater than or equal to `0`") + if key == "san_usec_per_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `san_usec_per_write_op`, must be a value greater than or equal to `0`") + if key == "service_usec_per_mirrored_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `service_usec_per_mirrored_write_op`, must be a value greater than or equal to `0`") + if key == "service_usec_per_read_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `service_usec_per_read_op`, must be a value greater than or equal to `0`") + if key == "service_usec_per_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `service_usec_per_write_op`, must be a value greater than or equal to `0`") + if key == "usec_per_mirrored_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `usec_per_mirrored_write_op`, must be a value greater than or equal to `0`") + if key == "usec_per_read_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `usec_per_read_op`, must be a value greater than or equal to `0`") + if key == "usec_per_write_op" and value is not None: + if value < 0: + raise ValueError("Invalid value for `usec_per_write_op`, must be a value greater than or equal to `0`") + if key == "write_bytes_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `write_bytes_per_sec`, must be a value greater than or equal to `0`") + if key == "writes_per_sec" and value is not None: + if value < 0: + raise ValueError("Invalid value for `writes_per_sec`, must be a value greater than or equal to `0`") + if key == "service_usec_per_read_op_cache_reduction" and value is not None: + if value > 1.0: + raise ValueError("Invalid value for `service_usec_per_read_op_cache_reduction`, value must be less than or equal to `1.0`") + if value < 0.0: + raise ValueError("Invalid value for `service_usec_per_read_op_cache_reduction`, must be a value greater than or equal to `0.0`") + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VolumePerformanceByArray`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VolumePerformanceByArray`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VolumePerformanceByArray`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(VolumePerformanceByArray, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, VolumePerformanceByArray): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/volume_post.py b/pypureclient/flasharray/FA_2_26/models/volume_post.py new file mode 100644 index 000000000..2dbd1815d --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/volume_post.py @@ -0,0 +1,162 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class VolumePost(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'destroyed': 'bool', + 'priority_adjustment': 'PriorityAdjustment', + 'provisioned': 'int', + 'qos': 'Qos', + 'source': 'Reference', + 'subtype': 'str' + } + + attribute_map = { + 'destroyed': 'destroyed', + 'priority_adjustment': 'priority_adjustment', + 'provisioned': 'provisioned', + 'qos': 'qos', + 'source': 'source', + 'subtype': 'subtype' + } + + required_args = { + } + + def __init__( + self, + destroyed=None, # type: bool + priority_adjustment=None, # type: models.PriorityAdjustment + provisioned=None, # type: int + qos=None, # type: models.Qos + source=None, # type: models.Reference + subtype=None, # type: str + ): + """ + Keyword args: + destroyed (bool): If set to `true`, destroys a resource. Once set to `true`, the `time_remaining` value will display the amount of time left until the destroyed resource is permanently eradicated. Before the `time_remaining` period has elapsed, the destroyed resource can be recovered by setting `destroyed=false`. Once the `time_remaining` period has elapsed, the resource is permanently eradicated and can no longer be recovered. + priority_adjustment (PriorityAdjustment): Adjusts volume priority. + provisioned (int): Sets the virtual size of the volume, measured in bytes. + qos (Qos): Sets QoS limits. + source (Reference): The source volume of a volume copy. + subtype (str): The type of volume. Valid values are `protocol_endpoint` and `regular`. + """ + if destroyed is not None: + self.destroyed = destroyed + if priority_adjustment is not None: + self.priority_adjustment = priority_adjustment + if provisioned is not None: + self.provisioned = provisioned + if qos is not None: + self.qos = qos + if source is not None: + self.source = source + if subtype is not None: + self.subtype = subtype + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VolumePost`".format(key)) + if key == "provisioned" and value is not None: + if value > 4503599627370496: + raise ValueError("Invalid value for `provisioned`, value must be less than or equal to `4503599627370496`") + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VolumePost`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VolumePost`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VolumePost`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(VolumePost, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, VolumePost): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/volume_response.py b/pypureclient/flasharray/FA_2_26/models/volume_response.py new file mode 100644 index 000000000..b3e5c17d4 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/volume_response.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class VolumeResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'items': 'list[Volume]' + } + + attribute_map = { + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + items=None, # type: List[models.Volume] + ): + """ + Keyword args: + items (list[Volume]): Displays a list of all items after filtering. The values are displayed for each name, if meaningful. If `total_only=true`, the `items` list is empty. + """ + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VolumeResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VolumeResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VolumeResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VolumeResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(VolumeResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, VolumeResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/volume_snapshot.py b/pypureclient/flasharray/FA_2_26/models/volume_snapshot.py new file mode 100644 index 000000000..414c1c183 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/volume_snapshot.py @@ -0,0 +1,195 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class VolumeSnapshot(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'id': 'str', + 'name': 'str', + 'created': 'int', + 'destroyed': 'bool', + 'pod': 'FixedReference', + 'provisioned': 'int', + 'source': 'FixedReference', + 'suffix': 'str', + 'time_remaining': 'int', + 'serial': 'str', + 'space': 'SnapshotSpace', + 'volume_group': 'FixedReference' + } + + attribute_map = { + 'id': 'id', + 'name': 'name', + 'created': 'created', + 'destroyed': 'destroyed', + 'pod': 'pod', + 'provisioned': 'provisioned', + 'source': 'source', + 'suffix': 'suffix', + 'time_remaining': 'time_remaining', + 'serial': 'serial', + 'space': 'space', + 'volume_group': 'volume_group' + } + + required_args = { + } + + def __init__( + self, + id=None, # type: str + name=None, # type: str + created=None, # type: int + destroyed=None, # type: bool + pod=None, # type: models.FixedReference + provisioned=None, # type: int + source=None, # type: models.FixedReference + suffix=None, # type: str + time_remaining=None, # type: int + serial=None, # type: str + space=None, # type: models.SnapshotSpace + volume_group=None, # type: models.FixedReference + ): + """ + Keyword args: + id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. + name (str): A user-specified name. The name must be locally unique and can be changed. + created (int): The snapshot creation time. Measured in milliseconds since the UNIX epoch. + destroyed (bool): Returns a value of `true` if the snapshot has been destroyed and is pending eradication. The `time_remaining` value displays the amount of time left until the destroyed volume snapshot is permanently eradicated. Before the `time_remaining` period has elapsed, the destroyed volume snapshot can be recovered by setting `destroyed=false`. Once the `time_remaining` period has elapsed, the volume snapshot is permanently eradicated and can no longer be recovered. + pod (FixedReference): A reference to the pod. + provisioned (int): The provisioned space of the snapshot. Measured in bytes. The minimum size is 1048576 (1MB), the maximum size is 4503599627370496 (4PB) + source (FixedReference): The volume from which this snapshot was taken. + suffix (str): The suffix that is appended to the `source_name` value to generate the full volume snapshot name in the form `VOL.SUFFIX`. If the suffix is not specified, the system constructs the snapshot name in the form `VOL.NNN`, where `VOL` is the volume name, and `NNN` is a monotonically increasing number. + time_remaining (int): The amount of time left until the destroyed snapshot is permanently eradicated. Measured in milliseconds. Before the `time_remaining` period has elapsed, the destroyed snapshot can be recovered by setting `destroyed=false`. + serial (str): A serial number generated by the system when the snapshot is created. The serial number is unique across all arrays. + space (SnapshotSpace): Displays size and space consumption information. + volume_group (FixedReference): The volume group to which the volume that is the source of this volume snapshot belongs. + """ + if id is not None: + self.id = id + if name is not None: + self.name = name + if created is not None: + self.created = created + if destroyed is not None: + self.destroyed = destroyed + if pod is not None: + self.pod = pod + if provisioned is not None: + self.provisioned = provisioned + if source is not None: + self.source = source + if suffix is not None: + self.suffix = suffix + if time_remaining is not None: + self.time_remaining = time_remaining + if serial is not None: + self.serial = serial + if space is not None: + self.space = space + if volume_group is not None: + self.volume_group = volume_group + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VolumeSnapshot`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VolumeSnapshot`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VolumeSnapshot`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VolumeSnapshot`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(VolumeSnapshot, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, VolumeSnapshot): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/volume_snapshot_get_response.py b/pypureclient/flasharray/FA_2_26/models/volume_snapshot_get_response.py new file mode 100644 index 000000000..ada46b5ad --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/volume_snapshot_get_response.py @@ -0,0 +1,153 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class VolumeSnapshotGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[VolumeSnapshot]', + 'total': 'list[VolumeSnapshot]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items', + 'total': 'total' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.VolumeSnapshot] + total=None, # type: List[models.VolumeSnapshot] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[VolumeSnapshot]): Returns a list of all items after filtering. The values are displayed for each name, if meaningful. If `total_only=true`, the `items` list will be empty. + total (list[VolumeSnapshot]): The aggregate value of all items after filtering. Where meaningful, the average value is displayed instead. If applicable, the values are displayed for each field. + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + if total is not None: + self.total = total + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VolumeSnapshotGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VolumeSnapshotGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VolumeSnapshotGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VolumeSnapshotGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(VolumeSnapshotGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, VolumeSnapshotGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/volume_snapshot_patch.py b/pypureclient/flasharray/FA_2_26/models/volume_snapshot_patch.py new file mode 100644 index 000000000..e093c05d3 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/volume_snapshot_patch.py @@ -0,0 +1,135 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class VolumeSnapshotPatch(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'destroyed': 'bool', + 'name': 'str' + } + + attribute_map = { + 'destroyed': 'destroyed', + 'name': 'name' + } + + required_args = { + } + + def __init__( + self, + destroyed=None, # type: bool + name=None, # type: str + ): + """ + Keyword args: + destroyed (bool): If set to `true`, destroys a resource. Once set to `true`, the `time_remaining` value will display the amount of time left until the destroyed resource is permanently eradicated. Before the `time_remaining` period has elapsed, the destroyed resource can be recovered by setting `destroyed=false`. Once the `time_remaining` period has elapsed, the resource is permanently eradicated and can no longer be recovered. + name (str): The new name for the resource. + """ + if destroyed is not None: + self.destroyed = destroyed + if name is not None: + self.name = name + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VolumeSnapshotPatch`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VolumeSnapshotPatch`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VolumeSnapshotPatch`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VolumeSnapshotPatch`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(VolumeSnapshotPatch, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, VolumeSnapshotPatch): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/volume_snapshot_post.py b/pypureclient/flasharray/FA_2_26/models/volume_snapshot_post.py new file mode 100644 index 000000000..3dd1cc0fe --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/volume_snapshot_post.py @@ -0,0 +1,135 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class VolumeSnapshotPost(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'destroyed': 'bool', + 'suffix': 'str' + } + + attribute_map = { + 'destroyed': 'destroyed', + 'suffix': 'suffix' + } + + required_args = { + } + + def __init__( + self, + destroyed=None, # type: bool + suffix=None, # type: str + ): + """ + Keyword args: + destroyed (bool): If set to `true`, destroys a resource. Once set to `true`, the `time_remaining` value will display the amount of time left until the destroyed resource is permanently eradicated. Before the `time_remaining` period has elapsed, the destroyed resource can be recovered by setting `destroyed=false`. Once the `time_remaining` period has elapsed, the resource is permanently eradicated and can no longer be recovered. + suffix (str): The suffix that is appended to the `source_name` value to generate the full volume snapshot name in the form `VOL.SUFFIX`. If the suffix is not specified, the system constructs the snapshot name in the form `VOL.NNN`, where `VOL` is the volume name, and `NNN` is a monotonically increasing number. + """ + if destroyed is not None: + self.destroyed = destroyed + if suffix is not None: + self.suffix = suffix + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VolumeSnapshotPost`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VolumeSnapshotPost`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VolumeSnapshotPost`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VolumeSnapshotPost`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(VolumeSnapshotPost, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, VolumeSnapshotPost): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/volume_snapshot_response.py b/pypureclient/flasharray/FA_2_26/models/volume_snapshot_response.py new file mode 100644 index 000000000..00caf5ef5 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/volume_snapshot_response.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class VolumeSnapshotResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'items': 'list[VolumeSnapshot]' + } + + attribute_map = { + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + items=None, # type: List[models.VolumeSnapshot] + ): + """ + Keyword args: + items (list[VolumeSnapshot]): Returns a list of all items after filtering. The values are displayed for each name, if meaningful. If `total_only=true`, the `items` list will be empty. + """ + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VolumeSnapshotResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VolumeSnapshotResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VolumeSnapshotResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VolumeSnapshotResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(VolumeSnapshotResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, VolumeSnapshotResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/volume_snapshot_transfer.py b/pypureclient/flasharray/FA_2_26/models/volume_snapshot_transfer.py new file mode 100644 index 000000000..708410496 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/volume_snapshot_transfer.py @@ -0,0 +1,171 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class VolumeSnapshotTransfer(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'id': 'str', + 'name': 'str', + 'destroyed': 'bool', + 'started': 'int', + 'progress': 'float', + 'completed': 'int', + 'data_transferred': 'int', + 'physical_bytes_written': 'int' + } + + attribute_map = { + 'id': 'id', + 'name': 'name', + 'destroyed': 'destroyed', + 'started': 'started', + 'progress': 'progress', + 'completed': 'completed', + 'data_transferred': 'data_transferred', + 'physical_bytes_written': 'physical_bytes_written' + } + + required_args = { + } + + def __init__( + self, + id=None, # type: str + name=None, # type: str + destroyed=None, # type: bool + started=None, # type: int + progress=None, # type: float + completed=None, # type: int + data_transferred=None, # type: int + physical_bytes_written=None, # type: int + ): + """ + Keyword args: + id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. + name (str): A user-specified name. The name must be locally unique and can be changed. + destroyed (bool): Returns a value of `true` if the snapshot has been destroyed and is pending eradication. The destroyed snapshot can be recovered by setting `destroyed=false`. Once the eradication pending period has elapsed, the snapshot is permanently eradicated and can no longer be recovered. + started (int): The timestamp of when the snapshot replication process started. Measured in milliseconds since the UNIX epoch. + progress (float): The percentage progress of the snapshot transfer from the source array to the target. Displayed in decimal format. + completed (int): The timestamp of when the snapshot replication process completed. Measured in milliseconds since the UNIX epoch. + data_transferred (int): The number of bytes transferred from the source to the target as part of the replication process. Measured in bytes. + physical_bytes_written (int): The amount of physical/logical data written to the target due to replication. Measured in bytes. + """ + if id is not None: + self.id = id + if name is not None: + self.name = name + if destroyed is not None: + self.destroyed = destroyed + if started is not None: + self.started = started + if progress is not None: + self.progress = progress + if completed is not None: + self.completed = completed + if data_transferred is not None: + self.data_transferred = data_transferred + if physical_bytes_written is not None: + self.physical_bytes_written = physical_bytes_written + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VolumeSnapshotTransfer`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VolumeSnapshotTransfer`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VolumeSnapshotTransfer`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VolumeSnapshotTransfer`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(VolumeSnapshotTransfer, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, VolumeSnapshotTransfer): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/volume_snapshot_transfer_get_response.py b/pypureclient/flasharray/FA_2_26/models/volume_snapshot_transfer_get_response.py new file mode 100644 index 000000000..405f85e0b --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/volume_snapshot_transfer_get_response.py @@ -0,0 +1,153 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class VolumeSnapshotTransferGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[VolumeSnapshotTransfer]', + 'total': 'list[VolumeSnapshotTransfer]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items', + 'total': 'total' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.VolumeSnapshotTransfer] + total=None, # type: List[models.VolumeSnapshotTransfer] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[VolumeSnapshotTransfer]): Returns a list of all items after filtering. The values are displayed for each name where meaningful. If `total_only=true`, the `items` list will be empty. + total (list[VolumeSnapshotTransfer]): The aggregate value of all items after filtering. Where it makes more sense, the average value is displayed instead. The values are displayed for each field where meaningful. + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + if total is not None: + self.total = total + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VolumeSnapshotTransferGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VolumeSnapshotTransferGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VolumeSnapshotTransferGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VolumeSnapshotTransferGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(VolumeSnapshotTransferGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, VolumeSnapshotTransferGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/volume_snapshot_transfer_response.py b/pypureclient/flasharray/FA_2_26/models/volume_snapshot_transfer_response.py new file mode 100644 index 000000000..64e19a93b --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/volume_snapshot_transfer_response.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class VolumeSnapshotTransferResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'items': 'list[VolumeSnapshotTransfer]' + } + + attribute_map = { + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + items=None, # type: List[models.VolumeSnapshotTransfer] + ): + """ + Keyword args: + items (list[VolumeSnapshotTransfer]): Returns a list of all items after filtering. The values are displayed for each name where meaningful. If `total_only=true`, the `items` list will be empty. + """ + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VolumeSnapshotTransferResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VolumeSnapshotTransferResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VolumeSnapshotTransferResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VolumeSnapshotTransferResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(VolumeSnapshotTransferResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, VolumeSnapshotTransferResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/volume_space.py b/pypureclient/flasharray/FA_2_26/models/volume_space.py new file mode 100644 index 000000000..95982c6be --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/volume_space.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class VolumeSpace(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'id': 'str', + 'name': 'str', + 'space': 'VolumeSpaceCommon', + 'time': 'int' + } + + attribute_map = { + 'id': 'id', + 'name': 'name', + 'space': 'space', + 'time': 'time' + } + + required_args = { + } + + def __init__( + self, + id=None, # type: str + name=None, # type: str + space=None, # type: models.VolumeSpaceCommon + time=None, # type: int + ): + """ + Keyword args: + id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. + name (str): A locally unique, system-generated name. The name cannot be modified. + space (VolumeSpaceCommon): Displays size and space consumption information. + time (int): The timestamp of when the data was taken, measured in milliseconds since the UNIX epoch. + """ + if id is not None: + self.id = id + if name is not None: + self.name = name + if space is not None: + self.space = space + if time is not None: + self.time = time + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VolumeSpace`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VolumeSpace`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VolumeSpace`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VolumeSpace`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(VolumeSpace, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, VolumeSpace): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/volume_space_common.py b/pypureclient/flasharray/FA_2_26/models/volume_space_common.py new file mode 100644 index 000000000..481061f92 --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/volume_space_common.py @@ -0,0 +1,254 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class VolumeSpaceCommon(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'data_reduction': 'float', + 'shared': 'int', + 'snapshots': 'int', + 'system': 'int', + 'thin_provisioning': 'float', + 'total_physical': 'int', + 'total_provisioned': 'int', + 'total_reduction': 'float', + 'unique': 'int', + 'virtual': 'int', + 'used_provisioned': 'int', + 'total_used': 'int', + 'snapshots_effective': 'int', + 'unique_effective': 'int', + 'total_effective': 'int' + } + + attribute_map = { + 'data_reduction': 'data_reduction', + 'shared': 'shared', + 'snapshots': 'snapshots', + 'system': 'system', + 'thin_provisioning': 'thin_provisioning', + 'total_physical': 'total_physical', + 'total_provisioned': 'total_provisioned', + 'total_reduction': 'total_reduction', + 'unique': 'unique', + 'virtual': 'virtual', + 'used_provisioned': 'used_provisioned', + 'total_used': 'total_used', + 'snapshots_effective': 'snapshots_effective', + 'unique_effective': 'unique_effective', + 'total_effective': 'total_effective' + } + + required_args = { + } + + def __init__( + self, + data_reduction=None, # type: float + shared=None, # type: int + snapshots=None, # type: int + system=None, # type: int + thin_provisioning=None, # type: float + total_physical=None, # type: int + total_provisioned=None, # type: int + total_reduction=None, # type: float + unique=None, # type: int + virtual=None, # type: int + used_provisioned=None, # type: int + total_used=None, # type: int + snapshots_effective=None, # type: int + unique_effective=None, # type: int + total_effective=None, # type: int + ): + """ + Keyword args: + data_reduction (float): The ratio of mapped sectors within a volume versus the amount of physical space the data occupies after data compression and deduplication. The data reduction ratio does not include thin provisioning savings. For example, a data reduction ratio of 5:1 means that for every 5 MB the host writes to the array, 1 MB is stored on the array's flash modules. + shared (int): The physical space occupied by deduplicated data, meaning that the space is shared with other volumes and snapshots as a result of data deduplication. Measured in bytes. On Evergreen//One arrays, this is the effective space contributed by data that is not unique to a specific volume, managed directory, or snapshot, measured in bytes. + snapshots (int): The physical space occupied by data unique to one or more snapshots. Measured in bytes. On Evergreen//One arrays, this is the effective space contributed by data unique to one or more snapshots, measured in bytes. + system (int): The physical space occupied by internal array metadata. Measured in bytes. + thin_provisioning (float): The percentage of volume sectors that do not contain host-written data because the hosts have not written data to them or the sectors have been explicitly trimmed. + total_physical (int): This field has been deprecated. Please use the `total_used` field, as it contains the same information. + total_provisioned (int): The provisioned size of a volume for a single volume, host or host group, protocol endpoint, managed directory, and containers can be infinite or measured in bytes. Infinite is represented by `null`. The provisioned size for a host or host group, includes all volumes that are connected to the resource. The provisioned size for a protocol endpoint is `null'. The provisioned size for a managed directory is the quota limit if it or its parent has a managed directory configured, otherwise it defaults to `null`. The provisioned size for a container is the sum of the total_provisioned of the object it contains, capped by the container's quota limit (or the container's used_provisioned if current usage is above the quota limit), if any. Provisioned size represents the storage capacity reported to hosts. + total_reduction (float): The ratio of provisioned sectors within a volume versus the amount of physical space the data occupies after reduction via data compression and deduplication and with thin provisioning savings. Total reduction is data reduction with thin provisioning savings. For example, a total reduction ratio of 10:1 means that for every 10 MB of provisioned space, 1 MB is stored on the array's flash modules. + unique (int): The unique physical space occupied by customer data. Unique physical space does not include shared space, snapshots, and internal array metadata. Measured in bytes. On Evergreen//One arrays, this is the effective space contributed by unique customer data, measured in bytes. Unique data does not include shared space, snapshots, and internal array metadata. + virtual (int): The amount of logically written data that a volume or a snapshot references. Measured in bytes. + used_provisioned (int): The amount of logical space a container has consumed. The amount of logical space is compared against the quota limit if the container has one configured. Used provisioned does not include destroyed objects inside the container. For a destroyed container, used provisioned can include destroyed objects and represents how much logical space it would take to recover the container. + total_used (int): The total space contributed by customer data, measured in bytes. + snapshots_effective (int): This field has been deprecated. The effective space contributed by data unique to one or more snapshots, measured in bytes. Please use the `snapshots` field in the future, as it contains the same information for Evergreen//One arrays. + unique_effective (int): This field has been deprecated. The effective space contributed by unique customer data. Unique data does not include shared space, snapshots, and internal array metadata, measured in bytes. Please use the `unique` field in the future, as it contains the same information for Evergreen//One arrays. + total_effective (int): This field has been deprecated. The total effective space contributed by customer data, measured in bytes. Please use the `total_physical` field in the future, as it contains the same information for Evergreen//One arrays. + """ + if data_reduction is not None: + self.data_reduction = data_reduction + if shared is not None: + self.shared = shared + if snapshots is not None: + self.snapshots = snapshots + if system is not None: + self.system = system + if thin_provisioning is not None: + self.thin_provisioning = thin_provisioning + if total_physical is not None: + self.total_physical = total_physical + if total_provisioned is not None: + self.total_provisioned = total_provisioned + if total_reduction is not None: + self.total_reduction = total_reduction + if unique is not None: + self.unique = unique + if virtual is not None: + self.virtual = virtual + if used_provisioned is not None: + self.used_provisioned = used_provisioned + if total_used is not None: + self.total_used = total_used + if snapshots_effective is not None: + self.snapshots_effective = snapshots_effective + if unique_effective is not None: + self.unique_effective = unique_effective + if total_effective is not None: + self.total_effective = total_effective + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VolumeSpaceCommon`".format(key)) + if key == "shared" and value is not None: + if value < 0: + raise ValueError("Invalid value for `shared`, must be a value greater than or equal to `0`") + if key == "snapshots" and value is not None: + if value < 0: + raise ValueError("Invalid value for `snapshots`, must be a value greater than or equal to `0`") + if key == "system" and value is not None: + if value < 0: + raise ValueError("Invalid value for `system`, must be a value greater than or equal to `0`") + if key == "thin_provisioning" and value is not None: + if value > 1.0: + raise ValueError("Invalid value for `thin_provisioning`, value must be less than or equal to `1.0`") + if value < 0.0: + raise ValueError("Invalid value for `thin_provisioning`, must be a value greater than or equal to `0.0`") + if key == "total_physical" and value is not None: + if value < 0: + raise ValueError("Invalid value for `total_physical`, must be a value greater than or equal to `0`") + if key == "total_provisioned" and value is not None: + if value < 0: + raise ValueError("Invalid value for `total_provisioned`, must be a value greater than or equal to `0`") + if key == "unique" and value is not None: + if value < 0: + raise ValueError("Invalid value for `unique`, must be a value greater than or equal to `0`") + if key == "virtual" and value is not None: + if value < 0: + raise ValueError("Invalid value for `virtual`, must be a value greater than or equal to `0`") + if key == "used_provisioned" and value is not None: + if value < 0: + raise ValueError("Invalid value for `used_provisioned`, must be a value greater than or equal to `0`") + if key == "total_used" and value is not None: + if value < 0: + raise ValueError("Invalid value for `total_used`, must be a value greater than or equal to `0`") + if key == "snapshots_effective" and value is not None: + if value < 0: + raise ValueError("Invalid value for `snapshots_effective`, must be a value greater than or equal to `0`") + if key == "unique_effective" and value is not None: + if value < 0: + raise ValueError("Invalid value for `unique_effective`, must be a value greater than or equal to `0`") + if key == "total_effective" and value is not None: + if value < 0: + raise ValueError("Invalid value for `total_effective`, must be a value greater than or equal to `0`") + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VolumeSpaceCommon`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VolumeSpaceCommon`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VolumeSpaceCommon`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(VolumeSpaceCommon, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, VolumeSpaceCommon): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/volume_space_get_response.py b/pypureclient/flasharray/FA_2_26/models/volume_space_get_response.py new file mode 100644 index 000000000..2541df41d --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/volume_space_get_response.py @@ -0,0 +1,153 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class VolumeSpaceGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[VolumeSpace]', + 'total': 'list[VolumeSpace]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items', + 'total': 'total' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.VolumeSpace] + total=None, # type: List[models.VolumeSpace] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[VolumeSpace]): Displays a list of all items after filtering. If applicable, the values are displayed for each name. If `total_only=true`, the `items` list will be empty. + total (list[VolumeSpace]): The aggregate value of all items after filtering. Where it makes more sense, the average value is displayed instead. If applicable, the values are displayed for each field. + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + if total is not None: + self.total = total + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VolumeSpaceGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VolumeSpaceGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VolumeSpaceGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VolumeSpaceGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(VolumeSpaceGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, VolumeSpaceGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/volumes_diff_get_response.py b/pypureclient/flasharray/FA_2_26/models/volumes_diff_get_response.py new file mode 100644 index 000000000..7cbe36d7e --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/volumes_diff_get_response.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class VolumesDiffGetResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'more_items_remaining': 'bool', + 'total_item_count': 'int', + 'continuation_token': 'str', + 'items': 'list[VolumeDiff]' + } + + attribute_map = { + 'more_items_remaining': 'more_items_remaining', + 'total_item_count': 'total_item_count', + 'continuation_token': 'continuation_token', + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + more_items_remaining=None, # type: bool + total_item_count=None, # type: int + continuation_token=None, # type: str + items=None, # type: List[models.VolumeDiff] + ): + """ + Keyword args: + more_items_remaining (bool): Returns a value of `true` if subsequent items can be retrieved. + total_item_count (int): The total number of records after applying all filter query parameters. The `total_item_count` will be calculated if and only if the corresponding query parameter `total_item_count` is set to `true`. If this query parameter is not set or set to `false`, a value of `null` will be returned. + continuation_token (str): Continuation token that can be provided in the `continuation_token` query param to get the next page of data. If you use the continuation token to page through data you are guaranteed to get all items exactly once regardless of how items are modified. If an item is added or deleted during the pagination then it may or may not be returned. The continuation token is generated if the limit is less than the remaining number of items, and the default sort is used (no sort is specified). + items (list[VolumeDiff]): A list of different chunks between specified volumes. + """ + if more_items_remaining is not None: + self.more_items_remaining = more_items_remaining + if total_item_count is not None: + self.total_item_count = total_item_count + if continuation_token is not None: + self.continuation_token = continuation_token + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VolumesDiffGetResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VolumesDiffGetResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VolumesDiffGetResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VolumesDiffGetResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(VolumesDiffGetResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, VolumesDiffGetResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/models/volumes_diff_response.py b/pypureclient/flasharray/FA_2_26/models/volumes_diff_response.py new file mode 100644 index 000000000..14b63431b --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/models/volumes_diff_response.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re + +import six +import typing + +from ....properties import Property +if typing.TYPE_CHECKING: + from pypureclient.flasharray.FA_2_26 import models + +class VolumesDiffResponse(object): + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'items': 'list[VolumeDiff]' + } + + attribute_map = { + 'items': 'items' + } + + required_args = { + } + + def __init__( + self, + items=None, # type: List[models.VolumeDiff] + ): + """ + Keyword args: + items (list[VolumeDiff]): A list of different chunks between specified volumes. + """ + if items is not None: + self.items = items + + def __setattr__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VolumesDiffResponse`".format(key)) + self.__dict__[key] = value + + def __getattribute__(self, item): + value = object.__getattribute__(self, item) + if isinstance(value, Property): + raise AttributeError + else: + return value + + def __getitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VolumesDiffResponse`".format(key)) + return object.__getattribute__(self, key) + + def __setitem__(self, key, value): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VolumesDiffResponse`".format(key)) + object.__setattr__(self, key, value) + + def __delitem__(self, key): + if key not in self.attribute_map: + raise KeyError("Invalid key `{}` for `VolumesDiffResponse`".format(key)) + object.__delattr__(self, key) + + def keys(self): + return self.attribute_map.keys() + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + if hasattr(self, attr): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(VolumesDiffResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, VolumesDiffResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/pypureclient/flasharray/FA_2_26/rest.py b/pypureclient/flasharray/FA_2_26/rest.py new file mode 100644 index 000000000..1f90f024a --- /dev/null +++ b/pypureclient/flasharray/FA_2_26/rest.py @@ -0,0 +1,331 @@ +# coding: utf-8 + +""" + FlashArray REST API + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + + OpenAPI spec version: 2.26 + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +from __future__ import absolute_import + +import io +import json +import logging +import re +import ssl + +import certifi +# python 2 and python 3 compatibility library +import six +from six.moves.urllib.parse import urlencode + +try: + import urllib3 +except ImportError: + raise ImportError('Swagger python client requires urllib3.') + + +logger = logging.getLogger(__name__) + + +class RESTResponse(io.IOBase): + + def __init__(self, resp): + self.urllib3_response = resp + self.status = resp.status + self.reason = resp.reason + self.data = resp.data + + def getheaders(self): + """Returns a dictionary of the response headers.""" + return self.urllib3_response.getheaders() + + def getheader(self, name, default=None): + """Returns a given response header.""" + return self.urllib3_response.getheader(name, default) + + +class RESTClientObject(object): + + def __init__(self, configuration, pools_size=4, maxsize=None): + # urllib3.PoolManager will pass all kw parameters to connectionpool + # https://github.com/shazow/urllib3/blob/f9409436f83aeb79fbaf090181cd81b784f1b8ce/urllib3/poolmanager.py#L75 + # https://github.com/shazow/urllib3/blob/f9409436f83aeb79fbaf090181cd81b784f1b8ce/urllib3/connectionpool.py#L680 + # maxsize is the number of requests to host that are allowed in parallel + # Custom SSL certificates and client certificates: http://urllib3.readthedocs.io/en/latest/advanced-usage.html + + # cert_reqs + if configuration.verify_ssl: + cert_reqs = ssl.CERT_REQUIRED + else: + cert_reqs = ssl.CERT_NONE + + # ca_certs + if configuration.ssl_ca_cert: + ca_certs = configuration.ssl_ca_cert + else: + # if not set certificate file, use Mozilla's root certificates. + ca_certs = certifi.where() + + addition_pool_args = {} + if configuration.assert_hostname is not None: + addition_pool_args['assert_hostname'] = configuration.assert_hostname + + if maxsize is None: + if configuration.connection_pool_maxsize is not None: + maxsize = configuration.connection_pool_maxsize + else: + maxsize = 4 + + # https pool manager + if configuration.proxy: + self.pool_manager = urllib3.ProxyManager( + num_pools=pools_size, + maxsize=maxsize, + cert_reqs=cert_reqs, + ca_certs=ca_certs, + cert_file=configuration.cert_file, + key_file=configuration.key_file, + proxy_url=configuration.proxy, + **addition_pool_args + ) + else: + self.pool_manager = urllib3.PoolManager( + num_pools=pools_size, + maxsize=maxsize, + cert_reqs=cert_reqs, + ca_certs=ca_certs, + cert_file=configuration.cert_file, + key_file=configuration.key_file, + **addition_pool_args + ) + + def request(self, method, url, query_params=None, headers=None, + body=None, post_params=None, _preload_content=True, + _request_timeout=None): + """Perform requests. + + :param method: http request method + :param url: http request url + :param query_params: query parameters in the url + :param headers: http request headers + :param body: request json body, for `application/json` + :param post_params: request post parameters, + `application/x-www-form-urlencoded` + and `multipart/form-data` + :param _preload_content: if False, the urllib3.HTTPResponse object will + be returned without reading/decoding response + data. Default is True. + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + """ + method = method.upper() + assert method in ['GET', 'HEAD', 'DELETE', 'POST', 'PUT', + 'PATCH', 'OPTIONS'] + + if post_params and body: + raise ValueError( + "body parameter cannot be used with post_params parameter." + ) + + post_params = post_params or {} + headers = headers or {} + + timeout = None + if _request_timeout: + if isinstance(_request_timeout, (int, ) if six.PY3 else (int, long)): + timeout = urllib3.Timeout(total=_request_timeout) + elif (isinstance(_request_timeout, tuple) and + len(_request_timeout) == 2): + timeout = urllib3.Timeout( + connect=_request_timeout[0], read=_request_timeout[1]) + + if 'Content-Type' not in headers: + headers['Content-Type'] = 'application/json' + + try: + # For `POST`, `PUT`, `PATCH`, `OPTIONS`, `DELETE` + if method in ['POST', 'PUT', 'PATCH', 'OPTIONS', 'DELETE']: + if query_params: + url += '?' + urlencode(query_params) + if re.search('json', headers['Content-Type'], re.IGNORECASE): + request_body = None + if body is not None: + request_body = json.dumps(body) + r = self.pool_manager.request( + method, url, + body=request_body, + preload_content=_preload_content, + timeout=timeout, + headers=headers) + elif headers['Content-Type'] == 'application/x-www-form-urlencoded': + r = self.pool_manager.request( + method, url, + fields=post_params, + encode_multipart=False, + preload_content=_preload_content, + timeout=timeout, + headers=headers) + elif headers['Content-Type'] == 'multipart/form-data': + # must del headers['Content-Type'], or the correct + # Content-Type which generated by urllib3 will be + # overwritten. + del headers['Content-Type'] + r = self.pool_manager.request( + method, url, + fields=post_params, + encode_multipart=True, + preload_content=_preload_content, + timeout=timeout, + headers=headers) + # Pass a `string` parameter directly in the body to support + # other content types than Json when `body` argument is + # provided in serialized form + elif isinstance(body, str): + request_body = body + r = self.pool_manager.request( + method, url, + body=request_body, + preload_content=_preload_content, + timeout=timeout, + headers=headers) + else: + # Cannot generate the request from given parameters + msg = """Cannot prepare a request message for provided + arguments. Please check that your arguments match + declared content type.""" + raise ApiException(status=0, reason=msg) + # For `GET`, `HEAD` + else: + r = self.pool_manager.request(method, url, + fields=query_params, + preload_content=_preload_content, + timeout=timeout, + headers=headers) + except urllib3.exceptions.SSLError as e: + msg = "{0}\n{1}".format(type(e).__name__, str(e)) + raise ApiException(status=0, reason=msg) + + if _preload_content: + r = RESTResponse(r) + + # In the python 3, the response.data is bytes. + should_log_body = True + if six.PY3: + try: + decoded_data = r.data.decode('utf8') + r.data = decoded_data + except: + # make sure we don't try to log this data if it's not utf-8 compatible + should_log_body = False + logger.debug("response body could not be decoded using utf-8") + + # log response body if and only if it's not file data. file data might error if we try + # to write it to this log + if should_log_body: + logger.debug("response body: %s", r.data) + + if not 200 <= r.status <= 299: + raise ApiException(http_resp=r) + + return r + + def GET(self, url, headers=None, query_params=None, _preload_content=True, + _request_timeout=None): + return self.request("GET", url, + headers=headers, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + query_params=query_params) + + def HEAD(self, url, headers=None, query_params=None, _preload_content=True, + _request_timeout=None): + return self.request("HEAD", url, + headers=headers, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + query_params=query_params) + + def OPTIONS(self, url, headers=None, query_params=None, post_params=None, + body=None, _preload_content=True, _request_timeout=None): + return self.request("OPTIONS", url, + headers=headers, + query_params=query_params, + post_params=post_params, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + body=body) + + def DELETE(self, url, headers=None, query_params=None, body=None, + _preload_content=True, _request_timeout=None): + return self.request("DELETE", url, + headers=headers, + query_params=query_params, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + body=body) + + def POST(self, url, headers=None, query_params=None, post_params=None, + body=None, _preload_content=True, _request_timeout=None): + return self.request("POST", url, + headers=headers, + query_params=query_params, + post_params=post_params, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + body=body) + + def PUT(self, url, headers=None, query_params=None, post_params=None, + body=None, _preload_content=True, _request_timeout=None): + return self.request("PUT", url, + headers=headers, + query_params=query_params, + post_params=post_params, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + body=body) + + def PATCH(self, url, headers=None, query_params=None, post_params=None, + body=None, _preload_content=True, _request_timeout=None): + return self.request("PATCH", url, + headers=headers, + query_params=query_params, + post_params=post_params, + _preload_content=_preload_content, + _request_timeout=_request_timeout, + body=body) + + +class ApiException(Exception): + + def __init__(self, status=None, reason=None, http_resp=None): + if http_resp: + self.status = http_resp.status + self.reason = http_resp.reason + self.body = http_resp.data + self.headers = http_resp.getheaders() + else: + self.status = status + self.reason = reason + self.body = None + self.headers = None + + def __str__(self): + """Custom error messages for exception""" + error_message = "({0})\n"\ + "Reason: {1}\n".format(self.status, self.reason) + if self.headers: + error_message += "HTTP response headers: {0}\n".format( + self.headers) + + if self.body: + error_message += "HTTP response body: {0}\n".format(self.body) + + return error_message diff --git a/pypureclient/flasharray/FA_2_3/models/array_performance.py b/pypureclient/flasharray/FA_2_3/models/array_performance.py index 052ae66ab..cb443e97d 100644 --- a/pypureclient/flasharray/FA_2_3/models/array_performance.py +++ b/pypureclient/flasharray/FA_2_3/models/array_performance.py @@ -141,35 +141,35 @@ def __init__( Keyword args: id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. name (str): A locally unique, system-generated name. The name cannot be modified. - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. queue_depth (int): Deprecated. The number reported here may not be accurate and in later versions of the product this field will always report `null`. Instead, use `queue_usec_per_mirrored_write_op`, `queue_usec_per_read_op`, and `queue_usec_per_write_op` fields to measure IO queuing. - local_queue_usec_per_op (int): Average local queue time for both read and write operations. Measured in microseconds. - usec_per_other_op (int): The average time it takes the array to process an I/O other request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + local_queue_usec_per_op (int): Deprecated. The number reported here may not be accurate and in later versions of the product this field will always report `null`. Instead, use `queue_usec_per_mirrored_write_op`, `queue_usec_per_read_op`, and `queue_usec_per_write_op` fields to measure IO queuing. + usec_per_other_op (int): The average time it takes the array to process an I/O other request, measured in microseconds. others_per_sec (int): The number of other requests processed per second. """ if id is not None: diff --git a/pypureclient/flasharray/FA_2_3/models/directory_performance.py b/pypureclient/flasharray/FA_2_3/models/directory_performance.py index c9021c11a..29e4bd26c 100644 --- a/pypureclient/flasharray/FA_2_3/models/directory_performance.py +++ b/pypureclient/flasharray/FA_2_3/models/directory_performance.py @@ -94,9 +94,9 @@ def __init__( read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_other_op (int): The average time it takes the array to process an I/O other request, measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + usec_per_other_op (int): The average time it takes the array to process an I/O other request, measured in microseconds. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. """ diff --git a/pypureclient/flasharray/FA_2_3/models/host_group_performance.py b/pypureclient/flasharray/FA_2_3/models/host_group_performance.py index 1d2530e37..af43159fd 100644 --- a/pypureclient/flasharray/FA_2_3/models/host_group_performance.py +++ b/pypureclient/flasharray/FA_2_3/models/host_group_performance.py @@ -129,30 +129,30 @@ def __init__( Keyword args: id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. name (str): A user-specified name. The name must be locally unique and can be changed. - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. """ diff --git a/pypureclient/flasharray/FA_2_3/models/host_group_performance_by_array.py b/pypureclient/flasharray/FA_2_3/models/host_group_performance_by_array.py index dde8767f1..274524f37 100644 --- a/pypureclient/flasharray/FA_2_3/models/host_group_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_3/models/host_group_performance_by_array.py @@ -132,30 +132,30 @@ def __init__( Keyword args: id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. name (str): A user-specified name. The name must be locally unique and can be changed. - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. array (Resource): The array on which the performance metrics were recorded. diff --git a/pypureclient/flasharray/FA_2_3/models/host_performance.py b/pypureclient/flasharray/FA_2_3/models/host_performance.py index ca0098de7..9f5c1f17a 100644 --- a/pypureclient/flasharray/FA_2_3/models/host_performance.py +++ b/pypureclient/flasharray/FA_2_3/models/host_performance.py @@ -129,30 +129,30 @@ def __init__( Keyword args: id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. name (str): A user-specified name. The name must be locally unique and can be changed. - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. """ diff --git a/pypureclient/flasharray/FA_2_3/models/host_performance_by_array.py b/pypureclient/flasharray/FA_2_3/models/host_performance_by_array.py index eac242d20..0499a176a 100644 --- a/pypureclient/flasharray/FA_2_3/models/host_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_3/models/host_performance_by_array.py @@ -132,30 +132,30 @@ def __init__( Keyword args: id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. name (str): A user-specified name. The name must be locally unique and can be changed. - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. array (Resource): The array on which the performance metrics were recorded. diff --git a/pypureclient/flasharray/FA_2_3/models/performance.py b/pypureclient/flasharray/FA_2_3/models/performance.py index 435959658..aa1745c2e 100644 --- a/pypureclient/flasharray/FA_2_3/models/performance.py +++ b/pypureclient/flasharray/FA_2_3/models/performance.py @@ -121,30 +121,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. """ diff --git a/pypureclient/flasharray/FA_2_3/models/pod_array_status.py b/pypureclient/flasharray/FA_2_3/models/pod_array_status.py index ec46bf68e..45ae6ef9e 100644 --- a/pypureclient/flasharray/FA_2_3/models/pod_array_status.py +++ b/pypureclient/flasharray/FA_2_3/models/pod_array_status.py @@ -70,7 +70,7 @@ def __init__( mediator_status (str): The status of the mediator, which determines whether it is available to mediate a high availability event. Valid values are `flummoxed`, `online`, `unknown`, and `unreachable`. Only mediators in the `online` status can mediate high availability events. If set to `flummoxed`, the array can reach a mediator, but it is talking to the wrong one. Verify that the DNS in the environment is properly configured. This status might also appear if the pod has been offline on one array for an extended period of time and the peer array is unreachable. If set to `online`, the array is successfully communicating with the mediator, and the mediator is available to mediate a high availability event. If set to `unreachable`, the array cannot reach the mediator, either due to network issues or because the mediator is down. When a mediator is unreachable, synchronous replication continues to function provided all arrays are healthy and communicating, but a high availability event without mediator access can result in an outage. pre_elected (bool): If set to `true`, the array has been pre-elected to remain online in the rare event that the mediator is inaccessible on both arrays within the stretched pod, and then later, the arrays within the stretched pod become disconnected from each other. If set to `false`, either the array has been pre-elected to remain offline while its peer array remains online, or pre-election is not in effect. One and only one array within each pod is pre-elected at a given point in time, so while a pre-elected array is keeping the pod online, the pod on its non-elected peer array remains offline during the communication failure. Users cannot pre-elect arrays. progress (float): The percentage progress of the pod resyncing process for this array. The percentage is displayed as a decimal value, starting at 0.00 and ending at 1.00. - status (str): The status of the array within the stretched pod. Valid values are `offline`, `online`, `resyncing`, `suspended`, and `unknown`. If set to `offline`, the array is experiencing problems and may not have the latest pod data. The array cannot handle I/O to the pod and cannot take over during a high availability event. If set to `online`, the array is online and has the latest pod data. The array can handle I/O to the pod and take over during a high availability event. If set to `suspended`, the array is experiencing a short connection glitch of the pod. This is a temporary status and would transition to either `online` or `offline` soon. If set to `resyncing`, the array is actively getting the latest pod data so that it becomes fully synchronized with its peer array. During the resyncing process, the array cannot handle I/O to the pod. Once the arrays are fully synchronized, the array changes to `online` status. If set to `unknown`, the status of the peer array is unknown because this array is offline and cannot determine the state of the pod on the peer array. Only the peer array can ever be in unknown status; this unknown status is unique to the local array and will differ when viewed from its peer array. + status (str): The status of the array within the stretched pod. Valid values are `offline`, `online`, `resyncing`, `suspended`, and `unknown`. If set to `offline`, the array is experiencing problems and may not have the latest pod data. The array cannot handle I/O to the pod and cannot take over during a high availability event. If set to `online`, the array is online and has the latest pod data. The array can handle I/O to the pod and take over during a high availability event. If set to `suspended`, the array is experiencing a short connection glitch of the pod. This is a temporary status and would transition to either `online` or `offline` soon. `suspended` is a new status that is exposed, starting from version 6.6.0. If set to `resyncing`, the array is actively getting the latest pod data so that it becomes fully synchronized with its peer array. During the resyncing process, the array cannot handle I/O to the pod. Once the arrays are fully synchronized, the array changes to `online` status. If set to `unknown`, the status of the peer array is unknown because this array is offline and cannot determine the state of the pod on the peer array. Only the peer array can ever be in unknown status; this unknown status is unique to the local array and will differ when viewed from its peer array. """ if id is not None: self.id = id diff --git a/pypureclient/flasharray/FA_2_3/models/pod_performance.py b/pypureclient/flasharray/FA_2_3/models/pod_performance.py index a09decd40..293f01deb 100644 --- a/pypureclient/flasharray/FA_2_3/models/pod_performance.py +++ b/pypureclient/flasharray/FA_2_3/models/pod_performance.py @@ -129,30 +129,30 @@ def __init__( Keyword args: id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. name (str): A user-specified name. The name must be locally unique and can be changed. - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. """ diff --git a/pypureclient/flasharray/FA_2_3/models/pod_performance_by_array.py b/pypureclient/flasharray/FA_2_3/models/pod_performance_by_array.py index eec3e18a1..fce14640a 100644 --- a/pypureclient/flasharray/FA_2_3/models/pod_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_3/models/pod_performance_by_array.py @@ -132,30 +132,30 @@ def __init__( Keyword args: id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. name (str): A user-specified name. The name must be locally unique and can be changed. - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. array (Resource): The array on which the performance metrics were recorded. diff --git a/pypureclient/flasharray/FA_2_3/models/resource_performance.py b/pypureclient/flasharray/FA_2_3/models/resource_performance.py index 970287993..1e1306201 100644 --- a/pypureclient/flasharray/FA_2_3/models/resource_performance.py +++ b/pypureclient/flasharray/FA_2_3/models/resource_performance.py @@ -129,30 +129,30 @@ def __init__( Keyword args: id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. name (str): A user-specified name. The name must be locally unique and can be changed. - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. """ diff --git a/pypureclient/flasharray/FA_2_3/models/resource_performance_by_array.py b/pypureclient/flasharray/FA_2_3/models/resource_performance_by_array.py index 5fa61a197..eadcab78d 100644 --- a/pypureclient/flasharray/FA_2_3/models/resource_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_3/models/resource_performance_by_array.py @@ -132,30 +132,30 @@ def __init__( Keyword args: id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. name (str): A user-specified name. The name must be locally unique and can be changed. - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. array (Resource): The array on which the performance metrics were recorded. diff --git a/pypureclient/flasharray/FA_2_3/models/resource_performance_no_id.py b/pypureclient/flasharray/FA_2_3/models/resource_performance_no_id.py index c03e4264e..1d0a0c21c 100644 --- a/pypureclient/flasharray/FA_2_3/models/resource_performance_no_id.py +++ b/pypureclient/flasharray/FA_2_3/models/resource_performance_no_id.py @@ -125,30 +125,30 @@ def __init__( """ Keyword args: name (str): A user-specified name. The name must be locally unique and can be changed. - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. """ diff --git a/pypureclient/flasharray/FA_2_3/models/resource_performance_no_id_by_array.py b/pypureclient/flasharray/FA_2_3/models/resource_performance_no_id_by_array.py index 5395dea91..61ecc1482 100644 --- a/pypureclient/flasharray/FA_2_3/models/resource_performance_no_id_by_array.py +++ b/pypureclient/flasharray/FA_2_3/models/resource_performance_no_id_by_array.py @@ -128,30 +128,30 @@ def __init__( """ Keyword args: name (str): A user-specified name. The name must be locally unique and can be changed. - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. array (Resource): The array on which the performance metrics were recorded. diff --git a/pypureclient/flasharray/FA_2_3/models/volume_group_performance.py b/pypureclient/flasharray/FA_2_3/models/volume_group_performance.py index db051e53a..3b350938a 100644 --- a/pypureclient/flasharray/FA_2_3/models/volume_group_performance.py +++ b/pypureclient/flasharray/FA_2_3/models/volume_group_performance.py @@ -129,30 +129,30 @@ def __init__( Keyword args: id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. name (str): A user-specified name. The name must be locally unique and can be changed. - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. """ diff --git a/pypureclient/flasharray/FA_2_3/models/volume_performance.py b/pypureclient/flasharray/FA_2_3/models/volume_performance.py index 0e05fb6c3..748a4e9dd 100644 --- a/pypureclient/flasharray/FA_2_3/models/volume_performance.py +++ b/pypureclient/flasharray/FA_2_3/models/volume_performance.py @@ -129,30 +129,30 @@ def __init__( Keyword args: id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. name (str): A user-specified name. The name must be locally unique and can be changed. - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. """ diff --git a/pypureclient/flasharray/FA_2_3/models/volume_performance_by_array.py b/pypureclient/flasharray/FA_2_3/models/volume_performance_by_array.py index 053d9f1f3..4724faf51 100644 --- a/pypureclient/flasharray/FA_2_3/models/volume_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_3/models/volume_performance_by_array.py @@ -132,30 +132,30 @@ def __init__( Keyword args: id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. name (str): A user-specified name. The name must be locally unique and can be changed. - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. array (Resource): The array on which the performance metrics were recorded. diff --git a/pypureclient/flasharray/FA_2_4/models/array_performance.py b/pypureclient/flasharray/FA_2_4/models/array_performance.py index dc1add23d..939cf6281 100644 --- a/pypureclient/flasharray/FA_2_4/models/array_performance.py +++ b/pypureclient/flasharray/FA_2_4/models/array_performance.py @@ -142,38 +142,38 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. name (str): A locally unique, system-generated name. The name cannot be modified. queue_depth (int): Deprecated. The number displayed here may not be accurate and in later versions of the product this field will always display `null`. Instead, use `queue_usec_per_mirrored_write_op`, `queue_usec_per_read_op`, and `queue_usec_per_write_op` fields to measure IO queuing. - local_queue_usec_per_op (int): Average local queue time for both read and write operations, measured in microseconds. - usec_per_other_op (int): The average time it takes the array to process an I/O other request, measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + local_queue_usec_per_op (int): Deprecated. The number displayed here may not be accurate and in later versions of the product this field will always display `null`. Instead, use `queue_usec_per_mirrored_write_op`, `queue_usec_per_read_op`, and `queue_usec_per_write_op` fields to measure IO queuing. + usec_per_other_op (int): The average time it takes the array to process an I/O other request, measured in microseconds. others_per_sec (int): The number of other requests processed per second. """ if bytes_per_mirrored_write is not None: diff --git a/pypureclient/flasharray/FA_2_4/models/directory_performance.py b/pypureclient/flasharray/FA_2_4/models/directory_performance.py index 843e9faa7..bf298dbee 100644 --- a/pypureclient/flasharray/FA_2_4/models/directory_performance.py +++ b/pypureclient/flasharray/FA_2_4/models/directory_performance.py @@ -94,9 +94,9 @@ def __init__( read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_other_op (int): The average time it takes the array to process an I/O other request, measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + usec_per_other_op (int): The average time it takes the array to process an I/O other request, measured in microseconds. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. """ diff --git a/pypureclient/flasharray/FA_2_4/models/host_group_performance.py b/pypureclient/flasharray/FA_2_4/models/host_group_performance.py index f4811f7da..eb51be205 100644 --- a/pypureclient/flasharray/FA_2_4/models/host_group_performance.py +++ b/pypureclient/flasharray/FA_2_4/models/host_group_performance.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_4/models/host_group_performance_by_array.py b/pypureclient/flasharray/FA_2_4/models/host_group_performance_by_array.py index 2678f5f01..16c41efc7 100644 --- a/pypureclient/flasharray/FA_2_4/models/host_group_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_4/models/host_group_performance_by_array.py @@ -133,30 +133,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_4/models/host_performance.py b/pypureclient/flasharray/FA_2_4/models/host_performance.py index b07a02b96..6b31adc41 100644 --- a/pypureclient/flasharray/FA_2_4/models/host_performance.py +++ b/pypureclient/flasharray/FA_2_4/models/host_performance.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_4/models/host_performance_by_array.py b/pypureclient/flasharray/FA_2_4/models/host_performance_by_array.py index 9111d073e..f7beef86e 100644 --- a/pypureclient/flasharray/FA_2_4/models/host_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_4/models/host_performance_by_array.py @@ -133,30 +133,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_4/models/performance.py b/pypureclient/flasharray/FA_2_4/models/performance.py index 20cf9d9b7..58eb66f6d 100644 --- a/pypureclient/flasharray/FA_2_4/models/performance.py +++ b/pypureclient/flasharray/FA_2_4/models/performance.py @@ -124,30 +124,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_4/models/pod_array_status.py b/pypureclient/flasharray/FA_2_4/models/pod_array_status.py index e969192d0..e731161ad 100644 --- a/pypureclient/flasharray/FA_2_4/models/pod_array_status.py +++ b/pypureclient/flasharray/FA_2_4/models/pod_array_status.py @@ -70,7 +70,7 @@ def __init__( mediator_status (str): The status of the mediator, which determines whether it is available to mediate a high availability event. Valid values are `flummoxed`, `online`, `unknown`, and `unreachable`. Only mediators in the `online` status can mediate high availability events. If set to `flummoxed`, the array can reach a mediator, but it is talking to the wrong one. Verify that the DNS in the environment is properly configured. This status might also appear if the pod has been offline on one array for an extended period of time and the peer array is unreachable. If set to `online`, the array is successfully communicating with the mediator, and the mediator is available to mediate a high availability event. If set to `unreachable`, the array cannot reach the mediator, either due to network issues or because the mediator is down. When a mediator is unreachable, synchronous replication continues to function provided all arrays are healthy and communicating, but a high availability event without mediator access can result in an outage. pre_elected (bool): If set to `true`, the array has been pre-elected to remain online in the rare event that the mediator is inaccessible on both arrays within the stretched pod, and then later, the arrays within the stretched pod become disconnected from each other. If set to `false`, either the array has been pre-elected to remain offline while its peer array remains online, or pre-election is not in effect. One and only one array within each pod is pre-elected at a given point in time, so while a pre-elected array is keeping the pod online, the pod on its non-elected peer array remains offline during the communication failure. Users cannot pre-elect arrays. progress (float): The percentage progress of the pod resyncing process for this array. The percentage is displayed as a decimal value, starting at 0.00 and ending at 1.00. - status (str): The status of the array within the stretched pod. Valid values are `offline`, `online`, `resyncing`, `suspended`, and `unknown`. If set to `offline`, the array is experiencing problems and may not have the latest pod data. The array cannot handle I/O to the pod and cannot take over during a high availability event. If set to `online`, the array is online and has the latest pod data. The array can handle I/O to the pod and take over during a high availability event. If set to `suspended`, the array is experiencing a short connection glitch of the pod. This is a temporary status and would transition to either `online` or `offline` soon. If set to `resyncing`, the array is actively getting the latest pod data so that it becomes fully synchronized with its peer array. During the resyncing process, the array cannot handle I/O to the pod. Once the arrays are fully synchronized, the array changes to `online` status. If set to `unknown`, the status of the peer array is unknown because this array is offline and cannot determine the state of the pod on the peer array. Only the peer array can ever be in unknown status; this unknown status is unique to the local array and will differ when viewed from its peer array. + status (str): The status of the array within the stretched pod. Valid values are `offline`, `online`, `resyncing`, `suspended`, and `unknown`. If set to `offline`, the array is experiencing problems and may not have the latest pod data. The array cannot handle I/O to the pod and cannot take over during a high availability event. If set to `online`, the array is online and has the latest pod data. The array can handle I/O to the pod and take over during a high availability event. If set to `suspended`, the array is experiencing a short connection glitch of the pod. This is a temporary status and would transition to either `online` or `offline` soon. `suspended` is a new status that is exposed, starting from version 6.6.0. If set to `resyncing`, the array is actively getting the latest pod data so that it becomes fully synchronized with its peer array. During the resyncing process, the array cannot handle I/O to the pod. Once the arrays are fully synchronized, the array changes to `online` status. If set to `unknown`, the status of the peer array is unknown because this array is offline and cannot determine the state of the pod on the peer array. Only the peer array can ever be in unknown status; this unknown status is unique to the local array and will differ when viewed from its peer array. """ if id is not None: self.id = id diff --git a/pypureclient/flasharray/FA_2_4/models/pod_performance.py b/pypureclient/flasharray/FA_2_4/models/pod_performance.py index d480d4106..392eede1b 100644 --- a/pypureclient/flasharray/FA_2_4/models/pod_performance.py +++ b/pypureclient/flasharray/FA_2_4/models/pod_performance.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_4/models/pod_performance_by_array.py b/pypureclient/flasharray/FA_2_4/models/pod_performance_by_array.py index 64275f052..e19e51142 100644 --- a/pypureclient/flasharray/FA_2_4/models/pod_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_4/models/pod_performance_by_array.py @@ -133,30 +133,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_4/models/resource_performance.py b/pypureclient/flasharray/FA_2_4/models/resource_performance.py index b962fc58e..07de67ac9 100644 --- a/pypureclient/flasharray/FA_2_4/models/resource_performance.py +++ b/pypureclient/flasharray/FA_2_4/models/resource_performance.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_4/models/resource_performance_by_array.py b/pypureclient/flasharray/FA_2_4/models/resource_performance_by_array.py index f223b90d4..da823639a 100644 --- a/pypureclient/flasharray/FA_2_4/models/resource_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_4/models/resource_performance_by_array.py @@ -133,30 +133,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_4/models/resource_performance_no_id.py b/pypureclient/flasharray/FA_2_4/models/resource_performance_no_id.py index b9fa3dc10..f4b9097fb 100644 --- a/pypureclient/flasharray/FA_2_4/models/resource_performance_no_id.py +++ b/pypureclient/flasharray/FA_2_4/models/resource_performance_no_id.py @@ -127,30 +127,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_4/models/resource_performance_no_id_by_array.py b/pypureclient/flasharray/FA_2_4/models/resource_performance_no_id_by_array.py index 03fa686e2..d5356a88a 100644 --- a/pypureclient/flasharray/FA_2_4/models/resource_performance_no_id_by_array.py +++ b/pypureclient/flasharray/FA_2_4/models/resource_performance_no_id_by_array.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_4/models/volume_group_performance.py b/pypureclient/flasharray/FA_2_4/models/volume_group_performance.py index 7b37d3fa9..5392cde25 100644 --- a/pypureclient/flasharray/FA_2_4/models/volume_group_performance.py +++ b/pypureclient/flasharray/FA_2_4/models/volume_group_performance.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_4/models/volume_performance.py b/pypureclient/flasharray/FA_2_4/models/volume_performance.py index fe971f3d4..2c965bb1e 100644 --- a/pypureclient/flasharray/FA_2_4/models/volume_performance.py +++ b/pypureclient/flasharray/FA_2_4/models/volume_performance.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_4/models/volume_performance_by_array.py b/pypureclient/flasharray/FA_2_4/models/volume_performance_by_array.py index e30d4ab14..358df4932 100644 --- a/pypureclient/flasharray/FA_2_4/models/volume_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_4/models/volume_performance_by_array.py @@ -133,30 +133,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_5/models/array_performance.py b/pypureclient/flasharray/FA_2_5/models/array_performance.py index 3ac002e0b..503a09688 100644 --- a/pypureclient/flasharray/FA_2_5/models/array_performance.py +++ b/pypureclient/flasharray/FA_2_5/models/array_performance.py @@ -142,38 +142,38 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. name (str): A locally unique, system-generated name. The name cannot be modified. queue_depth (int): Deprecated. The number displayed here may not be accurate and in later versions of the product this field will always display `null`. Instead, use `queue_usec_per_mirrored_write_op`, `queue_usec_per_read_op`, and `queue_usec_per_write_op` fields to measure IO queuing. - local_queue_usec_per_op (int): Average local queue time for both read and write operations, measured in microseconds. - usec_per_other_op (int): The average time it takes the array to process an I/O other request, measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + local_queue_usec_per_op (int): Deprecated. The number displayed here may not be accurate and in later versions of the product this field will always display `null`. Instead, use `queue_usec_per_mirrored_write_op`, `queue_usec_per_read_op`, and `queue_usec_per_write_op` fields to measure IO queuing. + usec_per_other_op (int): The average time it takes the array to process an I/O other request, measured in microseconds. others_per_sec (int): The number of other requests processed per second. """ if bytes_per_mirrored_write is not None: diff --git a/pypureclient/flasharray/FA_2_5/models/directory_performance.py b/pypureclient/flasharray/FA_2_5/models/directory_performance.py index 81fda230f..b8acb01c5 100644 --- a/pypureclient/flasharray/FA_2_5/models/directory_performance.py +++ b/pypureclient/flasharray/FA_2_5/models/directory_performance.py @@ -94,9 +94,9 @@ def __init__( read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_other_op (int): The average time it takes the array to process an I/O other request, measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + usec_per_other_op (int): The average time it takes the array to process an I/O other request, measured in microseconds. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. """ diff --git a/pypureclient/flasharray/FA_2_5/models/host_group_performance.py b/pypureclient/flasharray/FA_2_5/models/host_group_performance.py index ec9bc6bd9..a53aedee4 100644 --- a/pypureclient/flasharray/FA_2_5/models/host_group_performance.py +++ b/pypureclient/flasharray/FA_2_5/models/host_group_performance.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_5/models/host_group_performance_by_array.py b/pypureclient/flasharray/FA_2_5/models/host_group_performance_by_array.py index 8c52ddeb3..a7e6db0a3 100644 --- a/pypureclient/flasharray/FA_2_5/models/host_group_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_5/models/host_group_performance_by_array.py @@ -133,30 +133,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_5/models/host_performance.py b/pypureclient/flasharray/FA_2_5/models/host_performance.py index 34af11c42..04e566dd6 100644 --- a/pypureclient/flasharray/FA_2_5/models/host_performance.py +++ b/pypureclient/flasharray/FA_2_5/models/host_performance.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_5/models/host_performance_by_array.py b/pypureclient/flasharray/FA_2_5/models/host_performance_by_array.py index 4909e2656..280b3610a 100644 --- a/pypureclient/flasharray/FA_2_5/models/host_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_5/models/host_performance_by_array.py @@ -133,30 +133,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_5/models/performance.py b/pypureclient/flasharray/FA_2_5/models/performance.py index 300dfaec7..32f3fcb66 100644 --- a/pypureclient/flasharray/FA_2_5/models/performance.py +++ b/pypureclient/flasharray/FA_2_5/models/performance.py @@ -124,30 +124,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_5/models/pod_array_status.py b/pypureclient/flasharray/FA_2_5/models/pod_array_status.py index 0ab78c471..b5b3f0769 100644 --- a/pypureclient/flasharray/FA_2_5/models/pod_array_status.py +++ b/pypureclient/flasharray/FA_2_5/models/pod_array_status.py @@ -70,7 +70,7 @@ def __init__( mediator_status (str): The status of the mediator, which determines whether it is available to mediate a high availability event. Valid values are `flummoxed`, `online`, `unknown`, and `unreachable`. Only mediators in the `online` status can mediate high availability events. If set to `flummoxed`, the array can reach a mediator, but it is talking to the wrong one. Verify that the DNS in the environment is properly configured. This status might also appear if the pod has been offline on one array for an extended period of time and the peer array is unreachable. If set to `online`, the array is successfully communicating with the mediator, and the mediator is available to mediate a high availability event. If set to `unreachable`, the array cannot reach the mediator, either due to network issues or because the mediator is down. When a mediator is unreachable, synchronous replication continues to function provided all arrays are healthy and communicating, but a high availability event without mediator access can result in an outage. pre_elected (bool): If set to `true`, the array has been pre-elected to remain online in the rare event that the mediator is inaccessible on both arrays within the stretched pod, and then later, the arrays within the stretched pod become disconnected from each other. If set to `false`, either the array has been pre-elected to remain offline while its peer array remains online, or pre-election is not in effect. One and only one array within each pod is pre-elected at a given point in time, so while a pre-elected array is keeping the pod online, the pod on its non-elected peer array remains offline during the communication failure. Users cannot pre-elect arrays. progress (float): The percentage progress of the pod resyncing process for this array. The percentage is displayed as a decimal value, starting at 0.00 and ending at 1.00. - status (str): The status of the array within the stretched pod. Valid values are `offline`, `online`, `resyncing`, `suspended`, and `unknown`. If set to `offline`, the array is experiencing problems and may not have the latest pod data. The array cannot handle I/O to the pod and cannot take over during a high availability event. If set to `online`, the array is online and has the latest pod data. The array can handle I/O to the pod and take over during a high availability event. If set to `suspended`, the array is experiencing a short connection glitch of the pod. This is a temporary status and would transition to either `online` or `offline` soon. If set to `resyncing`, the array is actively getting the latest pod data so that it becomes fully synchronized with its peer array. During the resyncing process, the array cannot handle I/O to the pod. Once the arrays are fully synchronized, the array changes to `online` status. If set to `unknown`, the status of the peer array is unknown because this array is offline and cannot determine the state of the pod on the peer array. Only the peer array can ever be in unknown status; this unknown status is unique to the local array and will differ when viewed from its peer array. + status (str): The status of the array within the stretched pod. Valid values are `offline`, `online`, `resyncing`, `suspended`, and `unknown`. If set to `offline`, the array is experiencing problems and may not have the latest pod data. The array cannot handle I/O to the pod and cannot take over during a high availability event. If set to `online`, the array is online and has the latest pod data. The array can handle I/O to the pod and take over during a high availability event. If set to `suspended`, the array is experiencing a short connection glitch of the pod. This is a temporary status and would transition to either `online` or `offline` soon. `suspended` is a new status that is exposed, starting from version 6.6.0. If set to `resyncing`, the array is actively getting the latest pod data so that it becomes fully synchronized with its peer array. During the resyncing process, the array cannot handle I/O to the pod. Once the arrays are fully synchronized, the array changes to `online` status. If set to `unknown`, the status of the peer array is unknown because this array is offline and cannot determine the state of the pod on the peer array. Only the peer array can ever be in unknown status; this unknown status is unique to the local array and will differ when viewed from its peer array. """ if id is not None: self.id = id diff --git a/pypureclient/flasharray/FA_2_5/models/pod_performance.py b/pypureclient/flasharray/FA_2_5/models/pod_performance.py index 8d53be99d..d7efb3534 100644 --- a/pypureclient/flasharray/FA_2_5/models/pod_performance.py +++ b/pypureclient/flasharray/FA_2_5/models/pod_performance.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_5/models/pod_performance_by_array.py b/pypureclient/flasharray/FA_2_5/models/pod_performance_by_array.py index f0e2a5416..ca786cc5f 100644 --- a/pypureclient/flasharray/FA_2_5/models/pod_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_5/models/pod_performance_by_array.py @@ -133,30 +133,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_5/models/resource_performance.py b/pypureclient/flasharray/FA_2_5/models/resource_performance.py index 69b20ad7e..8a99f4d53 100644 --- a/pypureclient/flasharray/FA_2_5/models/resource_performance.py +++ b/pypureclient/flasharray/FA_2_5/models/resource_performance.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_5/models/resource_performance_by_array.py b/pypureclient/flasharray/FA_2_5/models/resource_performance_by_array.py index a1c0374de..ce6a1a6a6 100644 --- a/pypureclient/flasharray/FA_2_5/models/resource_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_5/models/resource_performance_by_array.py @@ -133,30 +133,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_5/models/resource_performance_no_id.py b/pypureclient/flasharray/FA_2_5/models/resource_performance_no_id.py index a340db12b..d295a7ab9 100644 --- a/pypureclient/flasharray/FA_2_5/models/resource_performance_no_id.py +++ b/pypureclient/flasharray/FA_2_5/models/resource_performance_no_id.py @@ -127,30 +127,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_5/models/resource_performance_no_id_by_array.py b/pypureclient/flasharray/FA_2_5/models/resource_performance_no_id_by_array.py index fb833f10d..1ca71b6a4 100644 --- a/pypureclient/flasharray/FA_2_5/models/resource_performance_no_id_by_array.py +++ b/pypureclient/flasharray/FA_2_5/models/resource_performance_no_id_by_array.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_5/models/volume_group_performance.py b/pypureclient/flasharray/FA_2_5/models/volume_group_performance.py index f623b9ea1..6d0d88fe7 100644 --- a/pypureclient/flasharray/FA_2_5/models/volume_group_performance.py +++ b/pypureclient/flasharray/FA_2_5/models/volume_group_performance.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_5/models/volume_performance.py b/pypureclient/flasharray/FA_2_5/models/volume_performance.py index 73a36861e..546b3a61f 100644 --- a/pypureclient/flasharray/FA_2_5/models/volume_performance.py +++ b/pypureclient/flasharray/FA_2_5/models/volume_performance.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_5/models/volume_performance_by_array.py b/pypureclient/flasharray/FA_2_5/models/volume_performance_by_array.py index 74bb5b1b7..8ed72f0f0 100644 --- a/pypureclient/flasharray/FA_2_5/models/volume_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_5/models/volume_performance_by_array.py @@ -133,30 +133,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_6/models/array_performance.py b/pypureclient/flasharray/FA_2_6/models/array_performance.py index 1b9037a2f..44a0bdec7 100644 --- a/pypureclient/flasharray/FA_2_6/models/array_performance.py +++ b/pypureclient/flasharray/FA_2_6/models/array_performance.py @@ -142,38 +142,38 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. name (str): A locally unique, system-generated name. The name cannot be modified. queue_depth (int): Deprecated. The number displayed here may not be accurate and in later versions of the product this field will always display `null`. Instead, use `queue_usec_per_mirrored_write_op`, `queue_usec_per_read_op`, and `queue_usec_per_write_op` fields to measure IO queuing. - local_queue_usec_per_op (int): Average local queue time for both read and write operations, measured in microseconds. - usec_per_other_op (int): The average time it takes the array to process an I/O other request, measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + local_queue_usec_per_op (int): Deprecated. The number displayed here may not be accurate and in later versions of the product this field will always display `null`. Instead, use `queue_usec_per_mirrored_write_op`, `queue_usec_per_read_op`, and `queue_usec_per_write_op` fields to measure IO queuing. + usec_per_other_op (int): The average time it takes the array to process an I/O other request, measured in microseconds. others_per_sec (int): The number of other requests processed per second. """ if bytes_per_mirrored_write is not None: diff --git a/pypureclient/flasharray/FA_2_6/models/directory_performance.py b/pypureclient/flasharray/FA_2_6/models/directory_performance.py index 7d75dd200..20c8ddcd9 100644 --- a/pypureclient/flasharray/FA_2_6/models/directory_performance.py +++ b/pypureclient/flasharray/FA_2_6/models/directory_performance.py @@ -94,9 +94,9 @@ def __init__( read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_other_op (int): The average time it takes the array to process an I/O other request, measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + usec_per_other_op (int): The average time it takes the array to process an I/O other request, measured in microseconds. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. """ diff --git a/pypureclient/flasharray/FA_2_6/models/host_group_performance.py b/pypureclient/flasharray/FA_2_6/models/host_group_performance.py index e069c85bd..0d278b552 100644 --- a/pypureclient/flasharray/FA_2_6/models/host_group_performance.py +++ b/pypureclient/flasharray/FA_2_6/models/host_group_performance.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_6/models/host_group_performance_by_array.py b/pypureclient/flasharray/FA_2_6/models/host_group_performance_by_array.py index d4f51af8d..bec7b0bf0 100644 --- a/pypureclient/flasharray/FA_2_6/models/host_group_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_6/models/host_group_performance_by_array.py @@ -133,30 +133,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_6/models/host_performance.py b/pypureclient/flasharray/FA_2_6/models/host_performance.py index c8f002463..81b8509bd 100644 --- a/pypureclient/flasharray/FA_2_6/models/host_performance.py +++ b/pypureclient/flasharray/FA_2_6/models/host_performance.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_6/models/host_performance_by_array.py b/pypureclient/flasharray/FA_2_6/models/host_performance_by_array.py index 20e2ecf7a..91e6ea0e9 100644 --- a/pypureclient/flasharray/FA_2_6/models/host_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_6/models/host_performance_by_array.py @@ -133,30 +133,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_6/models/performance.py b/pypureclient/flasharray/FA_2_6/models/performance.py index 01e0af187..07dc7a834 100644 --- a/pypureclient/flasharray/FA_2_6/models/performance.py +++ b/pypureclient/flasharray/FA_2_6/models/performance.py @@ -124,30 +124,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_6/models/pod_array_status.py b/pypureclient/flasharray/FA_2_6/models/pod_array_status.py index 7ce481bf0..9356befc7 100644 --- a/pypureclient/flasharray/FA_2_6/models/pod_array_status.py +++ b/pypureclient/flasharray/FA_2_6/models/pod_array_status.py @@ -70,7 +70,7 @@ def __init__( mediator_status (str): The status of the mediator, which determines whether it is available to mediate a high availability event. Valid values are `flummoxed`, `online`, `unknown`, and `unreachable`. Only mediators in the `online` status can mediate high availability events. If set to `flummoxed`, the array can reach a mediator, but it is talking to the wrong one. Verify that the DNS in the environment is properly configured. This status might also appear if the pod has been offline on one array for an extended period of time and the peer array is unreachable. If set to `online`, the array is successfully communicating with the mediator, and the mediator is available to mediate a high availability event. If set to `unreachable`, the array cannot reach the mediator, either due to network issues or because the mediator is down. When a mediator is unreachable, synchronous replication continues to function provided all arrays are healthy and communicating, but a high availability event without mediator access can result in an outage. pre_elected (bool): If set to `true`, the array has been pre-elected to remain online in the rare event that the mediator is inaccessible on both arrays within the stretched pod, and then later, the arrays within the stretched pod become disconnected from each other. If set to `false`, either the array has been pre-elected to remain offline while its peer array remains online, or pre-election is not in effect. One and only one array within each pod is pre-elected at a given point in time, so while a pre-elected array is keeping the pod online, the pod on its non-elected peer array remains offline during the communication failure. Users cannot pre-elect arrays. progress (float): The percentage progress of the pod resyncing process for this array. The percentage is displayed as a decimal value, starting at 0.00 and ending at 1.00. - status (str): The status of the array within the stretched pod. Valid values are `offline`, `online`, `resyncing`, `suspended`, and `unknown`. If set to `offline`, the array is experiencing problems and may not have the latest pod data. The array cannot handle I/O to the pod and cannot take over during a high availability event. If set to `online`, the array is online and has the latest pod data. The array can handle I/O to the pod and take over during a high availability event. If set to `suspended`, the array is experiencing a short connection glitch of the pod. This is a temporary status and would transition to either `online` or `offline` soon. If set to `resyncing`, the array is actively getting the latest pod data so that it becomes fully synchronized with its peer array. During the resyncing process, the array cannot handle I/O to the pod. Once the arrays are fully synchronized, the array changes to `online` status. If set to `unknown`, the status of the peer array is unknown because this array is offline and cannot determine the state of the pod on the peer array. Only the peer array can ever be in unknown status; this unknown status is unique to the local array and will differ when viewed from its peer array. + status (str): The status of the array within the stretched pod. Valid values are `offline`, `online`, `resyncing`, `suspended`, and `unknown`. If set to `offline`, the array is experiencing problems and may not have the latest pod data. The array cannot handle I/O to the pod and cannot take over during a high availability event. If set to `online`, the array is online and has the latest pod data. The array can handle I/O to the pod and take over during a high availability event. If set to `suspended`, the array is experiencing a short connection glitch of the pod. This is a temporary status and would transition to either `online` or `offline` soon. `suspended` is a new status that is exposed, starting from version 6.6.0. If set to `resyncing`, the array is actively getting the latest pod data so that it becomes fully synchronized with its peer array. During the resyncing process, the array cannot handle I/O to the pod. Once the arrays are fully synchronized, the array changes to `online` status. If set to `unknown`, the status of the peer array is unknown because this array is offline and cannot determine the state of the pod on the peer array. Only the peer array can ever be in unknown status; this unknown status is unique to the local array and will differ when viewed from its peer array. """ if id is not None: self.id = id diff --git a/pypureclient/flasharray/FA_2_6/models/pod_performance.py b/pypureclient/flasharray/FA_2_6/models/pod_performance.py index f3859cea6..f17eecf66 100644 --- a/pypureclient/flasharray/FA_2_6/models/pod_performance.py +++ b/pypureclient/flasharray/FA_2_6/models/pod_performance.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_6/models/pod_performance_by_array.py b/pypureclient/flasharray/FA_2_6/models/pod_performance_by_array.py index 1c79c5c7c..f492245e3 100644 --- a/pypureclient/flasharray/FA_2_6/models/pod_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_6/models/pod_performance_by_array.py @@ -133,30 +133,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_6/models/resource_performance.py b/pypureclient/flasharray/FA_2_6/models/resource_performance.py index 47aaa4a1f..d6b75cf40 100644 --- a/pypureclient/flasharray/FA_2_6/models/resource_performance.py +++ b/pypureclient/flasharray/FA_2_6/models/resource_performance.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_6/models/resource_performance_by_array.py b/pypureclient/flasharray/FA_2_6/models/resource_performance_by_array.py index 724b54c96..4d023b7f4 100644 --- a/pypureclient/flasharray/FA_2_6/models/resource_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_6/models/resource_performance_by_array.py @@ -133,30 +133,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_6/models/resource_performance_no_id.py b/pypureclient/flasharray/FA_2_6/models/resource_performance_no_id.py index 0b356935d..a5f944485 100644 --- a/pypureclient/flasharray/FA_2_6/models/resource_performance_no_id.py +++ b/pypureclient/flasharray/FA_2_6/models/resource_performance_no_id.py @@ -127,30 +127,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_6/models/resource_performance_no_id_by_array.py b/pypureclient/flasharray/FA_2_6/models/resource_performance_no_id_by_array.py index 259bb0667..7dc8ff805 100644 --- a/pypureclient/flasharray/FA_2_6/models/resource_performance_no_id_by_array.py +++ b/pypureclient/flasharray/FA_2_6/models/resource_performance_no_id_by_array.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_6/models/volume_group_performance.py b/pypureclient/flasharray/FA_2_6/models/volume_group_performance.py index 86a1aa643..f3860bbbf 100644 --- a/pypureclient/flasharray/FA_2_6/models/volume_group_performance.py +++ b/pypureclient/flasharray/FA_2_6/models/volume_group_performance.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_6/models/volume_performance.py b/pypureclient/flasharray/FA_2_6/models/volume_performance.py index dbfc11a90..fc6ece52a 100644 --- a/pypureclient/flasharray/FA_2_6/models/volume_performance.py +++ b/pypureclient/flasharray/FA_2_6/models/volume_performance.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_6/models/volume_performance_by_array.py b/pypureclient/flasharray/FA_2_6/models/volume_performance_by_array.py index 303dd68ef..d32b335e2 100644 --- a/pypureclient/flasharray/FA_2_6/models/volume_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_6/models/volume_performance_by_array.py @@ -133,30 +133,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_7/models/array_performance.py b/pypureclient/flasharray/FA_2_7/models/array_performance.py index 712ca6add..08e695b3c 100644 --- a/pypureclient/flasharray/FA_2_7/models/array_performance.py +++ b/pypureclient/flasharray/FA_2_7/models/array_performance.py @@ -142,38 +142,38 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. name (str): A locally unique, system-generated name. The name cannot be modified. queue_depth (int): Deprecated. The number displayed here may not be accurate and in later versions of the product this field will always display `null`. Instead, use `queue_usec_per_mirrored_write_op`, `queue_usec_per_read_op`, and `queue_usec_per_write_op` fields to measure IO queuing. - local_queue_usec_per_op (int): Average local queue time for both read and write operations, measured in microseconds. - usec_per_other_op (int): The average time it takes the array to process an I/O other request, measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + local_queue_usec_per_op (int): Deprecated. The number displayed here may not be accurate and in later versions of the product this field will always display `null`. Instead, use `queue_usec_per_mirrored_write_op`, `queue_usec_per_read_op`, and `queue_usec_per_write_op` fields to measure IO queuing. + usec_per_other_op (int): The average time it takes the array to process an I/O other request, measured in microseconds. others_per_sec (int): The number of other requests processed per second. """ if bytes_per_mirrored_write is not None: diff --git a/pypureclient/flasharray/FA_2_7/models/directory_performance.py b/pypureclient/flasharray/FA_2_7/models/directory_performance.py index 55e8bd2c4..21cce4437 100644 --- a/pypureclient/flasharray/FA_2_7/models/directory_performance.py +++ b/pypureclient/flasharray/FA_2_7/models/directory_performance.py @@ -94,9 +94,9 @@ def __init__( read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_other_op (int): The average time it takes the array to process an I/O other request, measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + usec_per_other_op (int): The average time it takes the array to process an I/O other request, measured in microseconds. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. """ diff --git a/pypureclient/flasharray/FA_2_7/models/host_group_performance.py b/pypureclient/flasharray/FA_2_7/models/host_group_performance.py index 3af7993f0..868fa07c7 100644 --- a/pypureclient/flasharray/FA_2_7/models/host_group_performance.py +++ b/pypureclient/flasharray/FA_2_7/models/host_group_performance.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_7/models/host_group_performance_by_array.py b/pypureclient/flasharray/FA_2_7/models/host_group_performance_by_array.py index aae955129..c0736163c 100644 --- a/pypureclient/flasharray/FA_2_7/models/host_group_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_7/models/host_group_performance_by_array.py @@ -133,30 +133,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_7/models/host_performance.py b/pypureclient/flasharray/FA_2_7/models/host_performance.py index 0ed4df989..de5760ccf 100644 --- a/pypureclient/flasharray/FA_2_7/models/host_performance.py +++ b/pypureclient/flasharray/FA_2_7/models/host_performance.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_7/models/host_performance_by_array.py b/pypureclient/flasharray/FA_2_7/models/host_performance_by_array.py index 60ff40961..df9ea2be2 100644 --- a/pypureclient/flasharray/FA_2_7/models/host_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_7/models/host_performance_by_array.py @@ -133,30 +133,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_7/models/performance.py b/pypureclient/flasharray/FA_2_7/models/performance.py index 8463f84a6..a5f2ed216 100644 --- a/pypureclient/flasharray/FA_2_7/models/performance.py +++ b/pypureclient/flasharray/FA_2_7/models/performance.py @@ -124,30 +124,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_7/models/pod_array_status.py b/pypureclient/flasharray/FA_2_7/models/pod_array_status.py index 1a5b66666..edbf2c891 100644 --- a/pypureclient/flasharray/FA_2_7/models/pod_array_status.py +++ b/pypureclient/flasharray/FA_2_7/models/pod_array_status.py @@ -70,7 +70,7 @@ def __init__( mediator_status (str): The status of the mediator, which determines whether it is available to mediate a high availability event. Valid values are `flummoxed`, `online`, `unknown`, and `unreachable`. Only mediators in the `online` status can mediate high availability events. If set to `flummoxed`, the array can reach a mediator, but it is talking to the wrong one. Verify that the DNS in the environment is properly configured. This status might also appear if the pod has been offline on one array for an extended period of time and the peer array is unreachable. If set to `online`, the array is successfully communicating with the mediator, and the mediator is available to mediate a high availability event. If set to `unreachable`, the array cannot reach the mediator, either due to network issues or because the mediator is down. When a mediator is unreachable, synchronous replication continues to function provided all arrays are healthy and communicating, but a high availability event without mediator access can result in an outage. pre_elected (bool): If set to `true`, the array has been pre-elected to remain online in the rare event that the mediator is inaccessible on both arrays within the stretched pod, and then later, the arrays within the stretched pod become disconnected from each other. If set to `false`, either the array has been pre-elected to remain offline while its peer array remains online, or pre-election is not in effect. One and only one array within each pod is pre-elected at a given point in time, so while a pre-elected array is keeping the pod online, the pod on its non-elected peer array remains offline during the communication failure. Users cannot pre-elect arrays. progress (float): The percentage progress of the pod resyncing process for this array. The percentage is displayed as a decimal value, starting at 0.00 and ending at 1.00. - status (str): The status of the array within the stretched pod. Valid values are `offline`, `online`, `resyncing`, `suspended`, and `unknown`. If set to `offline`, the array is experiencing problems and may not have the latest pod data. The array cannot handle I/O to the pod and cannot take over during a high availability event. If set to `online`, the array is online and has the latest pod data. The array can handle I/O to the pod and take over during a high availability event. If set to `suspended`, the array is experiencing a short connection glitch of the pod. This is a temporary status and would transition to either `online` or `offline` soon. If set to `resyncing`, the array is actively getting the latest pod data so that it becomes fully synchronized with its peer array. During the resyncing process, the array cannot handle I/O to the pod. Once the arrays are fully synchronized, the array changes to `online` status. If set to `unknown`, the status of the peer array is unknown because this array is offline and cannot determine the state of the pod on the peer array. Only the peer array can ever be in unknown status; this unknown status is unique to the local array and will differ when viewed from its peer array. + status (str): The status of the array within the stretched pod. Valid values are `offline`, `online`, `resyncing`, `suspended`, and `unknown`. If set to `offline`, the array is experiencing problems and may not have the latest pod data. The array cannot handle I/O to the pod and cannot take over during a high availability event. If set to `online`, the array is online and has the latest pod data. The array can handle I/O to the pod and take over during a high availability event. If set to `suspended`, the array is experiencing a short connection glitch of the pod. This is a temporary status and would transition to either `online` or `offline` soon. `suspended` is a new status that is exposed, starting from version 6.6.0. If set to `resyncing`, the array is actively getting the latest pod data so that it becomes fully synchronized with its peer array. During the resyncing process, the array cannot handle I/O to the pod. Once the arrays are fully synchronized, the array changes to `online` status. If set to `unknown`, the status of the peer array is unknown because this array is offline and cannot determine the state of the pod on the peer array. Only the peer array can ever be in unknown status; this unknown status is unique to the local array and will differ when viewed from its peer array. """ if id is not None: self.id = id diff --git a/pypureclient/flasharray/FA_2_7/models/pod_performance.py b/pypureclient/flasharray/FA_2_7/models/pod_performance.py index d4292349d..e1fec3f28 100644 --- a/pypureclient/flasharray/FA_2_7/models/pod_performance.py +++ b/pypureclient/flasharray/FA_2_7/models/pod_performance.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_7/models/pod_performance_by_array.py b/pypureclient/flasharray/FA_2_7/models/pod_performance_by_array.py index 40ea894a5..98dac843c 100644 --- a/pypureclient/flasharray/FA_2_7/models/pod_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_7/models/pod_performance_by_array.py @@ -133,30 +133,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_7/models/resource_performance.py b/pypureclient/flasharray/FA_2_7/models/resource_performance.py index 46707c9cd..af27eeb2c 100644 --- a/pypureclient/flasharray/FA_2_7/models/resource_performance.py +++ b/pypureclient/flasharray/FA_2_7/models/resource_performance.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_7/models/resource_performance_by_array.py b/pypureclient/flasharray/FA_2_7/models/resource_performance_by_array.py index a37e77148..7aea0d5f6 100644 --- a/pypureclient/flasharray/FA_2_7/models/resource_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_7/models/resource_performance_by_array.py @@ -133,30 +133,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_7/models/resource_performance_no_id.py b/pypureclient/flasharray/FA_2_7/models/resource_performance_no_id.py index a60550440..18b24cc23 100644 --- a/pypureclient/flasharray/FA_2_7/models/resource_performance_no_id.py +++ b/pypureclient/flasharray/FA_2_7/models/resource_performance_no_id.py @@ -127,30 +127,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_7/models/resource_performance_no_id_by_array.py b/pypureclient/flasharray/FA_2_7/models/resource_performance_no_id_by_array.py index 5146318d9..e4579660a 100644 --- a/pypureclient/flasharray/FA_2_7/models/resource_performance_no_id_by_array.py +++ b/pypureclient/flasharray/FA_2_7/models/resource_performance_no_id_by_array.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_7/models/volume_group_performance.py b/pypureclient/flasharray/FA_2_7/models/volume_group_performance.py index 3110e2f26..d5d4ba217 100644 --- a/pypureclient/flasharray/FA_2_7/models/volume_group_performance.py +++ b/pypureclient/flasharray/FA_2_7/models/volume_group_performance.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_7/models/volume_performance.py b/pypureclient/flasharray/FA_2_7/models/volume_performance.py index 05e45c9f7..0ea6df583 100644 --- a/pypureclient/flasharray/FA_2_7/models/volume_performance.py +++ b/pypureclient/flasharray/FA_2_7/models/volume_performance.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_7/models/volume_performance_by_array.py b/pypureclient/flasharray/FA_2_7/models/volume_performance_by_array.py index 6217fe057..c5ec6b4da 100644 --- a/pypureclient/flasharray/FA_2_7/models/volume_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_7/models/volume_performance_by_array.py @@ -133,30 +133,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_8/models/array_performance.py b/pypureclient/flasharray/FA_2_8/models/array_performance.py index e5c6101a0..ff8fa87d8 100644 --- a/pypureclient/flasharray/FA_2_8/models/array_performance.py +++ b/pypureclient/flasharray/FA_2_8/models/array_performance.py @@ -142,38 +142,38 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. name (str): A locally unique, system-generated name. The name cannot be modified. queue_depth (int): Deprecated. The number displayed here may not be accurate and in later versions of the product this field will always display `null`. Instead, use `queue_usec_per_mirrored_write_op`, `queue_usec_per_read_op`, and `queue_usec_per_write_op` fields to measure IO queuing. - local_queue_usec_per_op (int): Average local queue time for both read and write operations, measured in microseconds. - usec_per_other_op (int): The average time it takes the array to process an I/O other request, measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + local_queue_usec_per_op (int): Deprecated. The number displayed here may not be accurate and in later versions of the product this field will always display `null`. Instead, use `queue_usec_per_mirrored_write_op`, `queue_usec_per_read_op`, and `queue_usec_per_write_op` fields to measure IO queuing. + usec_per_other_op (int): The average time it takes the array to process an I/O other request, measured in microseconds. others_per_sec (int): The number of other requests processed per second. """ if bytes_per_mirrored_write is not None: diff --git a/pypureclient/flasharray/FA_2_8/models/directory_performance.py b/pypureclient/flasharray/FA_2_8/models/directory_performance.py index 1f490e8e7..ed2811694 100644 --- a/pypureclient/flasharray/FA_2_8/models/directory_performance.py +++ b/pypureclient/flasharray/FA_2_8/models/directory_performance.py @@ -94,9 +94,9 @@ def __init__( read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_other_op (int): The average time it takes the array to process an I/O other request, measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + usec_per_other_op (int): The average time it takes the array to process an I/O other request, measured in microseconds. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. """ diff --git a/pypureclient/flasharray/FA_2_8/models/host_group_performance.py b/pypureclient/flasharray/FA_2_8/models/host_group_performance.py index 58eb875a5..17464c8f3 100644 --- a/pypureclient/flasharray/FA_2_8/models/host_group_performance.py +++ b/pypureclient/flasharray/FA_2_8/models/host_group_performance.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_8/models/host_group_performance_by_array.py b/pypureclient/flasharray/FA_2_8/models/host_group_performance_by_array.py index 62c818fd0..16c913235 100644 --- a/pypureclient/flasharray/FA_2_8/models/host_group_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_8/models/host_group_performance_by_array.py @@ -133,30 +133,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_8/models/host_performance.py b/pypureclient/flasharray/FA_2_8/models/host_performance.py index 0897f6c0d..a64198115 100644 --- a/pypureclient/flasharray/FA_2_8/models/host_performance.py +++ b/pypureclient/flasharray/FA_2_8/models/host_performance.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_8/models/host_performance_by_array.py b/pypureclient/flasharray/FA_2_8/models/host_performance_by_array.py index 2b461c6e0..7c097b1a1 100644 --- a/pypureclient/flasharray/FA_2_8/models/host_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_8/models/host_performance_by_array.py @@ -133,30 +133,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_8/models/performance.py b/pypureclient/flasharray/FA_2_8/models/performance.py index ceba54078..6296b46a7 100644 --- a/pypureclient/flasharray/FA_2_8/models/performance.py +++ b/pypureclient/flasharray/FA_2_8/models/performance.py @@ -124,30 +124,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_8/models/pod_array_status.py b/pypureclient/flasharray/FA_2_8/models/pod_array_status.py index 8380ae392..40e5e5df7 100644 --- a/pypureclient/flasharray/FA_2_8/models/pod_array_status.py +++ b/pypureclient/flasharray/FA_2_8/models/pod_array_status.py @@ -70,7 +70,7 @@ def __init__( mediator_status (str): The status of the mediator, which determines whether it is available to mediate a high availability event. Valid values are `flummoxed`, `online`, `unknown`, and `unreachable`. Only mediators in the `online` status can mediate high availability events. If set to `flummoxed`, the array can reach a mediator, but it is talking to the wrong one. Verify that the DNS in the environment is properly configured. This status might also appear if the pod has been offline on one array for an extended period of time and the peer array is unreachable. If set to `online`, the array is successfully communicating with the mediator, and the mediator is available to mediate a high availability event. If set to `unreachable`, the array cannot reach the mediator, either due to network issues or because the mediator is down. When a mediator is unreachable, synchronous replication continues to function provided all arrays are healthy and communicating, but a high availability event without mediator access can result in an outage. pre_elected (bool): If set to `true`, the array has been pre-elected to remain online in the rare event that the mediator is inaccessible on both arrays within the stretched pod, and then later, the arrays within the stretched pod become disconnected from each other. If set to `false`, either the array has been pre-elected to remain offline while its peer array remains online, or pre-election is not in effect. One and only one array within each pod is pre-elected at a given point in time, so while a pre-elected array is keeping the pod online, the pod on its non-elected peer array remains offline during the communication failure. Users cannot pre-elect arrays. progress (float): The percentage progress of the pod resyncing process for this array. The percentage is displayed as a decimal value, starting at 0.00 and ending at 1.00. - status (str): The status of the array within the stretched pod. Valid values are `offline`, `online`, `resyncing`, `suspended`, and `unknown`. If set to `offline`, the array is experiencing problems and may not have the latest pod data. The array cannot handle I/O to the pod and cannot take over during a high availability event. If set to `online`, the array is online and has the latest pod data. The array can handle I/O to the pod and take over during a high availability event. If set to `suspended`, the array is experiencing a short connection glitch of the pod. This is a temporary status and would transition to either `online` or `offline` soon. If set to `resyncing`, the array is actively getting the latest pod data so that it becomes fully synchronized with its peer array. During the resyncing process, the array cannot handle I/O to the pod. Once the arrays are fully synchronized, the array changes to `online` status. If set to `unknown`, the status of the peer array is unknown because this array is offline and cannot determine the state of the pod on the peer array. Only the peer array can ever be in unknown status; this unknown status is unique to the local array and will differ when viewed from its peer array. + status (str): The status of the array within the stretched pod. Valid values are `offline`, `online`, `resyncing`, `suspended`, and `unknown`. If set to `offline`, the array is experiencing problems and may not have the latest pod data. The array cannot handle I/O to the pod and cannot take over during a high availability event. If set to `online`, the array is online and has the latest pod data. The array can handle I/O to the pod and take over during a high availability event. If set to `suspended`, the array is experiencing a short connection glitch of the pod. This is a temporary status and would transition to either `online` or `offline` soon. `suspended` is a new status that is exposed, starting from version 6.6.0. If set to `resyncing`, the array is actively getting the latest pod data so that it becomes fully synchronized with its peer array. During the resyncing process, the array cannot handle I/O to the pod. Once the arrays are fully synchronized, the array changes to `online` status. If set to `unknown`, the status of the peer array is unknown because this array is offline and cannot determine the state of the pod on the peer array. Only the peer array can ever be in unknown status; this unknown status is unique to the local array and will differ when viewed from its peer array. """ if id is not None: self.id = id diff --git a/pypureclient/flasharray/FA_2_8/models/pod_performance.py b/pypureclient/flasharray/FA_2_8/models/pod_performance.py index ebf4a3cb6..48d4ae0d1 100644 --- a/pypureclient/flasharray/FA_2_8/models/pod_performance.py +++ b/pypureclient/flasharray/FA_2_8/models/pod_performance.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_8/models/pod_performance_by_array.py b/pypureclient/flasharray/FA_2_8/models/pod_performance_by_array.py index 102ba46ec..845e5cbf4 100644 --- a/pypureclient/flasharray/FA_2_8/models/pod_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_8/models/pod_performance_by_array.py @@ -133,30 +133,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_8/models/resource_performance.py b/pypureclient/flasharray/FA_2_8/models/resource_performance.py index 53e8944bf..37d80c979 100644 --- a/pypureclient/flasharray/FA_2_8/models/resource_performance.py +++ b/pypureclient/flasharray/FA_2_8/models/resource_performance.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_8/models/resource_performance_by_array.py b/pypureclient/flasharray/FA_2_8/models/resource_performance_by_array.py index 9fe6b034e..01a31a5c2 100644 --- a/pypureclient/flasharray/FA_2_8/models/resource_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_8/models/resource_performance_by_array.py @@ -133,30 +133,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_8/models/resource_performance_no_id.py b/pypureclient/flasharray/FA_2_8/models/resource_performance_no_id.py index fe2185a44..8f9ba6464 100644 --- a/pypureclient/flasharray/FA_2_8/models/resource_performance_no_id.py +++ b/pypureclient/flasharray/FA_2_8/models/resource_performance_no_id.py @@ -127,30 +127,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_8/models/resource_performance_no_id_by_array.py b/pypureclient/flasharray/FA_2_8/models/resource_performance_no_id_by_array.py index 2f9dba610..09d5984b9 100644 --- a/pypureclient/flasharray/FA_2_8/models/resource_performance_no_id_by_array.py +++ b/pypureclient/flasharray/FA_2_8/models/resource_performance_no_id_by_array.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_8/models/volume_group_performance.py b/pypureclient/flasharray/FA_2_8/models/volume_group_performance.py index 10ce86e2e..debe237ed 100644 --- a/pypureclient/flasharray/FA_2_8/models/volume_group_performance.py +++ b/pypureclient/flasharray/FA_2_8/models/volume_group_performance.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_8/models/volume_performance.py b/pypureclient/flasharray/FA_2_8/models/volume_performance.py index 863d481ab..b8dc57296 100644 --- a/pypureclient/flasharray/FA_2_8/models/volume_performance.py +++ b/pypureclient/flasharray/FA_2_8/models/volume_performance.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_8/models/volume_performance_by_array.py b/pypureclient/flasharray/FA_2_8/models/volume_performance_by_array.py index 0e7d1990f..691c42887 100644 --- a/pypureclient/flasharray/FA_2_8/models/volume_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_8/models/volume_performance_by_array.py @@ -133,30 +133,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_9/models/array_performance.py b/pypureclient/flasharray/FA_2_9/models/array_performance.py index 73d210412..e1fb07359 100644 --- a/pypureclient/flasharray/FA_2_9/models/array_performance.py +++ b/pypureclient/flasharray/FA_2_9/models/array_performance.py @@ -142,38 +142,38 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. id (str): A globally unique, system-generated ID. The ID cannot be modified and cannot refer to another resource. name (str): A locally unique, system-generated name. The name cannot be modified. queue_depth (int): Deprecated. The number displayed here may not be accurate and in later versions of the product this field will always display `null`. Instead, use `queue_usec_per_mirrored_write_op`, `queue_usec_per_read_op`, and `queue_usec_per_write_op` fields to measure IO queuing. - local_queue_usec_per_op (int): Average local queue time for both read and write operations, measured in microseconds. - usec_per_other_op (int): The average time it takes the array to process an I/O other request, measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + local_queue_usec_per_op (int): Deprecated. The number displayed here may not be accurate and in later versions of the product this field will always display `null`. Instead, use `queue_usec_per_mirrored_write_op`, `queue_usec_per_read_op`, and `queue_usec_per_write_op` fields to measure IO queuing. + usec_per_other_op (int): The average time it takes the array to process an I/O other request, measured in microseconds. others_per_sec (int): The number of other requests processed per second. """ if bytes_per_mirrored_write is not None: diff --git a/pypureclient/flasharray/FA_2_9/models/directory_performance.py b/pypureclient/flasharray/FA_2_9/models/directory_performance.py index 11f168ae4..9c8af79cb 100644 --- a/pypureclient/flasharray/FA_2_9/models/directory_performance.py +++ b/pypureclient/flasharray/FA_2_9/models/directory_performance.py @@ -94,9 +94,9 @@ def __init__( read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_other_op (int): The average time it takes the array to process an I/O other request, measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + usec_per_other_op (int): The average time it takes the array to process an I/O other request, measured in microseconds. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. """ diff --git a/pypureclient/flasharray/FA_2_9/models/host_group_performance.py b/pypureclient/flasharray/FA_2_9/models/host_group_performance.py index 7b500b6d9..98f17e446 100644 --- a/pypureclient/flasharray/FA_2_9/models/host_group_performance.py +++ b/pypureclient/flasharray/FA_2_9/models/host_group_performance.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_9/models/host_group_performance_by_array.py b/pypureclient/flasharray/FA_2_9/models/host_group_performance_by_array.py index 0b116aa01..c8a647436 100644 --- a/pypureclient/flasharray/FA_2_9/models/host_group_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_9/models/host_group_performance_by_array.py @@ -133,30 +133,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_9/models/host_performance.py b/pypureclient/flasharray/FA_2_9/models/host_performance.py index da31caf1a..99d41022b 100644 --- a/pypureclient/flasharray/FA_2_9/models/host_performance.py +++ b/pypureclient/flasharray/FA_2_9/models/host_performance.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_9/models/host_performance_by_array.py b/pypureclient/flasharray/FA_2_9/models/host_performance_by_array.py index 30978a0ab..8a2946d3c 100644 --- a/pypureclient/flasharray/FA_2_9/models/host_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_9/models/host_performance_by_array.py @@ -133,30 +133,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_9/models/performance.py b/pypureclient/flasharray/FA_2_9/models/performance.py index 082deb811..4bf4eaafc 100644 --- a/pypureclient/flasharray/FA_2_9/models/performance.py +++ b/pypureclient/flasharray/FA_2_9/models/performance.py @@ -124,30 +124,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_9/models/pod_array_status.py b/pypureclient/flasharray/FA_2_9/models/pod_array_status.py index d407a35c0..9c7c94d28 100644 --- a/pypureclient/flasharray/FA_2_9/models/pod_array_status.py +++ b/pypureclient/flasharray/FA_2_9/models/pod_array_status.py @@ -70,7 +70,7 @@ def __init__( mediator_status (str): The status of the mediator, which determines whether it is available to mediate a high availability event. Valid values are `flummoxed`, `online`, `unknown`, and `unreachable`. Only mediators in the `online` status can mediate high availability events. If set to `flummoxed`, the array can reach a mediator, but it is talking to the wrong one. Verify that the DNS in the environment is properly configured. This status might also appear if the pod has been offline on one array for an extended period of time and the peer array is unreachable. If set to `online`, the array is successfully communicating with the mediator, and the mediator is available to mediate a high availability event. If set to `unreachable`, the array cannot reach the mediator, either due to network issues or because the mediator is down. When a mediator is unreachable, synchronous replication continues to function provided all arrays are healthy and communicating, but a high availability event without mediator access can result in an outage. pre_elected (bool): If set to `true`, the array has been pre-elected to remain online in the rare event that the mediator is inaccessible on both arrays within the stretched pod, and then later, the arrays within the stretched pod become disconnected from each other. If set to `false`, either the array has been pre-elected to remain offline while its peer array remains online, or pre-election is not in effect. One and only one array within each pod is pre-elected at a given point in time, so while a pre-elected array is keeping the pod online, the pod on its non-elected peer array remains offline during the communication failure. Users cannot pre-elect arrays. progress (float): The percentage progress of the pod resyncing process for this array. The percentage is displayed as a decimal value, starting at 0.00 and ending at 1.00. - status (str): The status of the array within the stretched pod. Valid values are `offline`, `online`, `resyncing`, `suspended`, and `unknown`. If set to `offline`, the array is experiencing problems and may not have the latest pod data. The array cannot handle I/O to the pod and cannot take over during a high availability event. If set to `online`, the array is online and has the latest pod data. The array can handle I/O to the pod and take over during a high availability event. If set to `suspended`, the array is experiencing a short connection glitch of the pod. This is a temporary status and would transition to either `online` or `offline` soon. If set to `resyncing`, the array is actively getting the latest pod data so that it becomes fully synchronized with its peer array. During the resyncing process, the array cannot handle I/O to the pod. Once the arrays are fully synchronized, the array changes to `online` status. If set to `unknown`, the status of the peer array is unknown because this array is offline and cannot determine the state of the pod on the peer array. Only the peer array can ever be in unknown status; this unknown status is unique to the local array and will differ when viewed from its peer array. + status (str): The status of the array within the stretched pod. Valid values are `offline`, `online`, `resyncing`, `suspended`, and `unknown`. If set to `offline`, the array is experiencing problems and may not have the latest pod data. The array cannot handle I/O to the pod and cannot take over during a high availability event. If set to `online`, the array is online and has the latest pod data. The array can handle I/O to the pod and take over during a high availability event. If set to `suspended`, the array is experiencing a short connection glitch of the pod. This is a temporary status and would transition to either `online` or `offline` soon. `suspended` is a new status that is exposed, starting from version 6.6.0. If set to `resyncing`, the array is actively getting the latest pod data so that it becomes fully synchronized with its peer array. During the resyncing process, the array cannot handle I/O to the pod. Once the arrays are fully synchronized, the array changes to `online` status. If set to `unknown`, the status of the peer array is unknown because this array is offline and cannot determine the state of the pod on the peer array. Only the peer array can ever be in unknown status; this unknown status is unique to the local array and will differ when viewed from its peer array. """ if id is not None: self.id = id diff --git a/pypureclient/flasharray/FA_2_9/models/pod_performance.py b/pypureclient/flasharray/FA_2_9/models/pod_performance.py index ad30fd5fd..cadf261ff 100644 --- a/pypureclient/flasharray/FA_2_9/models/pod_performance.py +++ b/pypureclient/flasharray/FA_2_9/models/pod_performance.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_9/models/pod_performance_by_array.py b/pypureclient/flasharray/FA_2_9/models/pod_performance_by_array.py index fe063174b..ae710df5d 100644 --- a/pypureclient/flasharray/FA_2_9/models/pod_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_9/models/pod_performance_by_array.py @@ -133,30 +133,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_9/models/resource_performance.py b/pypureclient/flasharray/FA_2_9/models/resource_performance.py index da36eb384..99d39a5d4 100644 --- a/pypureclient/flasharray/FA_2_9/models/resource_performance.py +++ b/pypureclient/flasharray/FA_2_9/models/resource_performance.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_9/models/resource_performance_by_array.py b/pypureclient/flasharray/FA_2_9/models/resource_performance_by_array.py index 6d86ff3e6..4475b6b35 100644 --- a/pypureclient/flasharray/FA_2_9/models/resource_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_9/models/resource_performance_by_array.py @@ -133,30 +133,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_9/models/resource_performance_no_id.py b/pypureclient/flasharray/FA_2_9/models/resource_performance_no_id.py index ae4989f33..d8801668d 100644 --- a/pypureclient/flasharray/FA_2_9/models/resource_performance_no_id.py +++ b/pypureclient/flasharray/FA_2_9/models/resource_performance_no_id.py @@ -127,30 +127,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_9/models/resource_performance_no_id_by_array.py b/pypureclient/flasharray/FA_2_9/models/resource_performance_no_id_by_array.py index ecfffd94b..186a1a8ca 100644 --- a/pypureclient/flasharray/FA_2_9/models/resource_performance_no_id_by_array.py +++ b/pypureclient/flasharray/FA_2_9/models/resource_performance_no_id_by_array.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_9/models/volume_group_performance.py b/pypureclient/flasharray/FA_2_9/models/volume_group_performance.py index 3e0eb8e99..935c70a13 100644 --- a/pypureclient/flasharray/FA_2_9/models/volume_group_performance.py +++ b/pypureclient/flasharray/FA_2_9/models/volume_group_performance.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_9/models/volume_performance.py b/pypureclient/flasharray/FA_2_9/models/volume_performance.py index 5af2f86d5..515bb7966 100644 --- a/pypureclient/flasharray/FA_2_9/models/volume_performance.py +++ b/pypureclient/flasharray/FA_2_9/models/volume_performance.py @@ -130,30 +130,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/FA_2_9/models/volume_performance_by_array.py b/pypureclient/flasharray/FA_2_9/models/volume_performance_by_array.py index fb468e03e..5886742f4 100644 --- a/pypureclient/flasharray/FA_2_9/models/volume_performance_by_array.py +++ b/pypureclient/flasharray/FA_2_9/models/volume_performance_by_array.py @@ -133,30 +133,30 @@ def __init__( ): """ Keyword args: - bytes_per_mirrored_write (int): The average I/O size per mirrored write. Measured in bytes. + bytes_per_mirrored_write (int): The average I/O size per mirrored write, measured in bytes. bytes_per_op (int): The average I/O size for both read and write (all) operations. - bytes_per_read (int): The average I/O size per read. Measured in bytes. - bytes_per_write (int): The average I/O size per write. Measured in bytes. + bytes_per_read (int): The average I/O size per read, measured in bytes. + bytes_per_write (int): The average I/O size per write, measured in bytes. mirrored_write_bytes_per_sec (int): The number of mirrored bytes written per second. mirrored_writes_per_sec (int): The number of mirrored writes per second. - qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. - qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request. Measured in microseconds. - qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit. Measured in microseconds. - queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served. Measured in microseconds. - queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served. Measured in microseconds. + qos_rate_limit_usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. + qos_rate_limit_usec_per_read_op (int): The average time spent waiting due to QoS rate limiting for a read request, measured in microseconds. + qos_rate_limit_usec_per_write_op (int): The average time that a write I/O request spends waiting as a result of the volume reaching its QoS bandwidth limit, measured in microseconds. + queue_usec_per_mirrored_write_op (int): The average time that a mirrored write I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_read_op (int): The average time that a read I/O request spends in the array waiting to be served, measured in microseconds. + queue_usec_per_write_op (int): The average time that a write I/O request spends in the array waiting to be served, measured in microseconds. read_bytes_per_sec (int): The number of bytes read per second. reads_per_sec (int): The number of read requests processed per second. - san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request. Measured in microseconds. - san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request. Measured in microseconds. - san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request. Measured in microseconds. - service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request. Measured in microseconds. - service_usec_per_read_op (int): The average time required for the array to service a read request. Measured in microseconds. - service_usec_per_write_op (int): The average time required for the array to service a write request. Measured in microseconds. - time (int): The time when the sample performance data was taken. Measured in milliseconds since the UNIX epoch. - usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_read_op (int): The average time it takes the array to process an I/O read request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. - usec_per_write_op (int): The average time it takes the array to process an I/O write request. Measured in microseconds. The average time does not include SAN time, queue time, or QoS rate limit time. + san_usec_per_mirrored_write_op (int): The average time required to transfer data from the initiator to the array for a mirrored write request, measured in microseconds. + san_usec_per_read_op (int): The average time required to transfer data from the array to the initiator for a read request, measured in microseconds. + san_usec_per_write_op (int): The average time required to transfer data from the initiator to the array for a write request, measured in microseconds. + service_usec_per_mirrored_write_op (int): The average time required for the array to service a mirrored write request, measured in microseconds. + service_usec_per_read_op (int): The average time required for the array to service a read request, measured in microseconds. + service_usec_per_write_op (int): The average time required for the array to service a write request, measured in microseconds. + time (int): The time when the sample performance data was taken, measured in milliseconds since the UNIX epoch. + usec_per_mirrored_write_op (int): The average time it takes the array to process a mirrored I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_read_op (int): The average time it takes the array to process an I/O read request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. + usec_per_write_op (int): The average time it takes the array to process an I/O write request, measured in microseconds. Beginning in Purity 6.3.14 and 6.4.10 and later, including later major versions (6.5.x, 6.6.x and beyond), queue time is included. The average time does not include SAN time or QoS rate limit time. write_bytes_per_sec (int): The number of bytes written per second. writes_per_sec (int): The number of write requests processed per second. service_usec_per_read_op_cache_reduction (float): The percentage reduction in `service_usec_per_read_op` due to data cache hits. For example, a value of 0.25 indicates that the value of `service_usec_per_read_op` is 25% lower than it would have been without any data cache hits. diff --git a/pypureclient/flasharray/__init__.py b/pypureclient/flasharray/__init__.py index b76071254..b77f04951 100644 --- a/pypureclient/flasharray/__init__.py +++ b/pypureclient/flasharray/__init__.py @@ -1,2 +1,2 @@ -from .FA_2_25 import * +from .FA_2_26 import * from .client import Client diff --git a/pypureclient/flasharray/client.py b/pypureclient/flasharray/client.py index 5e01d0deb..3df82b3df 100644 --- a/pypureclient/flasharray/client.py +++ b/pypureclient/flasharray/client.py @@ -3,56 +3,58 @@ from ..client_settings import resolve_ssl_validation from . import PureError -from . import FA_2_5 +from . import FA_2_0 +from . import FA_2_1 +from . import FA_2_2 +from . import FA_2_3 from . import FA_2_4 -from . import FA_2_24 +from . import FA_2_5 +from . import FA_2_6 +from . import FA_2_7 +from . import FA_2_8 +from . import FA_2_9 +from . import FA_2_10 +from . import FA_2_11 +from . import FA_2_13 from . import FA_2_14 +from . import FA_2_15 +from . import FA_2_16 from . import FA_2_17 +from . import FA_2_19 from . import FA_2_20 -from . import FA_2_2 -from . import FA_2_1 -from . import FA_2_8 -from . import FA_2_15 -from . import FA_2_13 from . import FA_2_21 -from . import FA_2_16 from . import FA_2_22 -from . import FA_2_11 -from . import FA_2_9 -from . import FA_2_19 -from . import FA_2_10 -from . import FA_2_7 from . import FA_2_23 +from . import FA_2_24 from . import FA_2_25 -from . import FA_2_0 -from . import FA_2_6 -from . import FA_2_3 +from . import FA_2_26 fa_modules = { - '2.5': FA_2_5, + '2.0': FA_2_0, + '2.1': FA_2_1, + '2.2': FA_2_2, + '2.3': FA_2_3, '2.4': FA_2_4, - '2.24': FA_2_24, + '2.5': FA_2_5, + '2.6': FA_2_6, + '2.7': FA_2_7, + '2.8': FA_2_8, + '2.9': FA_2_9, + '2.10': FA_2_10, + '2.11': FA_2_11, + '2.13': FA_2_13, '2.14': FA_2_14, + '2.15': FA_2_15, + '2.16': FA_2_16, '2.17': FA_2_17, + '2.19': FA_2_19, '2.20': FA_2_20, - '2.2': FA_2_2, - '2.1': FA_2_1, - '2.8': FA_2_8, - '2.15': FA_2_15, - '2.13': FA_2_13, '2.21': FA_2_21, - '2.16': FA_2_16, '2.22': FA_2_22, - '2.11': FA_2_11, - '2.9': FA_2_9, - '2.19': FA_2_19, - '2.10': FA_2_10, - '2.7': FA_2_7, '2.23': FA_2_23, + '2.24': FA_2_24, '2.25': FA_2_25, - '2.0': FA_2_0, - '2.6': FA_2_6, - '2.3': FA_2_3, + '2.26': FA_2_26, } MW_DEV_VERSION = '2.DEV' diff --git a/requirements.txt b/requirements.txt index 2ce00c2c1..16d77019e 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,9 +1,9 @@ -certifi >=2022.9.24, <=2022.12.7 +certifi >=2022.9.24, <=2023.7.22 six >=1.10, <=1.16.0 python_dateutil >=2.5.3, <=2.8.1 -setuptools >=21.0.0, <=51.1.2 +setuptools >=21.0.0, <=68.1.2 urllib3 >=1.26.5, <=1.26.12 paramiko >=2.11.0, <= 2.12.0 -pyjwt >=2.0.0, <=2.4.0 -requests >=2.20.1, <=2.28.1 -typing >=3.7.4.1, <=3.7.4.3; python_version < "3.5" +pyjwt >=2.0.0, <=2.8.0 +requests >=2.20.1, <=2.31.0 +typing >=3.7.4.1, <=3.7.4.3; python_version < "3.5" \ No newline at end of file diff --git a/setup.py b/setup.py index dfc3a4d68..8f19615a6 100644 --- a/setup.py +++ b/setup.py @@ -9,16 +9,18 @@ from setuptools import setup, find_packages # noqa: H301 NAME = 'py-pure-client' -VERSION = '1.38.0' +VERSION = '1.39.0' REQUIRES = [ - 'certifi >= 2022.9.24, <= 2022.12.7', - 'six >= 1.10, <= 1.16.0', - 'python-dateutil >= 2.5.3, <= 2.8.1', - 'urllib3 >= 1.26.5, <= 1.26.12', - 'paramiko >= 2.11.0, <= 2.12.0', - 'PyJWT >= 2.0.0, <=2.4.0', - 'requests >= 2.20.1, <= 2.28.1', + 'certifi >=2022.9.24, <=2023.7.22', + 'six >=1.10, <=1.16.0', + 'python_dateutil >=2.5.3, <=2.8.1', + 'setuptools >=21.0.0, <=68.1.2', + 'urllib3 >=1.26.5, <=1.26.12', + 'paramiko >=2.11.0, <= 2.12.0', + 'pyjwt >=2.0.0, <=2.8.0', + 'requests >=2.20.1, <=2.31.0', + 'typing >=3.7.4.1, <=3.7.4.3; python_version < "3.5"', ] if sys.version_info < (3, 5): @@ -35,7 +37,7 @@ author='Pure Storage', author_email='openconnect@purestorage.com', url='https://github.com/PureStorage-OpenConnect/py-pure-client', - download_url='https://github.com/PureStorage-OpenConnect/py-pure-client/archive/1.38.0.tar.gz', + download_url='https://github.com/PureStorage-OpenConnect/py-pure-client/archive/1.39.0.tar.gz', keywords=['Swagger', 'Pure Storage', 'Python', 'clients', 'REST', 'API', 'FlashArray', 'FlashBlade', 'Pure1'], license='BSD 2-Clause', license_files = ('LICENSE.txt',),